Sha256: a13bd31157ecfb1a6fd5680c0777eb8f0839289dc110f4eca60dcb4318af3629

Contents?: true

Size: 1.88 KB

Versions: 70

Compression:

Stored size: 1.88 KB

Contents

# Release Process

## Versioning

We follow [Semantic Versioning](https://semver.org).  In short, this means that the new version should reflect the types of changes that are about to be released.

*summary from semver.org*

MAJOR.MINOR.PATCH

- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.

## When we release

We release `gitlab-qa` on an ad-hoc basis.  There is no regularity to when we release, we just release
when we make a change - no matter the size of the change.

## How-to

- Check if there is an [open merge request to bump the version](https://gitlab.com/gitlab-org/gitlab-qa/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&search=bump+version) (to avoid creating a duplicate).
  - If there is one, update it if necessary.
  - If not, update [`lib/gitlab/qa/version.rb`] to an appropriate [semantic version](https://semver.org) in a new merge request using the [release template](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/.gitlab/merge_request_templates/Release.md)
    and title the MR like `"Bump version to <version>"`.
- Merge the merge request.
- Create a new tag via the UI (https://gitlab.com/gitlab-org/gitlab-qa/-/tags/new).
  * **Tag name**: The same version found in [`lib/gitlab/qa/version.rb`], prefixed with `v`, e.g. if the version is `4.7.1`, the tag would be `v4.7.1`.
  * **Message**: Set it to "Version x.y.z", e.g. if the version is `4.7.1`, the message would be "Version 4.7.1".
  * **Release notes**: Copy the release notes from the merge request.
  * Click *Create Tag*.
  
GitLab will then start a pipeline for this new tag, and the `release` job will build and push the new version of `gitlab-qa` to RubyGems.

[`lib/gitlab/qa/version.rb`]: https://gitlab.com/gitlab-org/gitlab-qa/blob/master/lib/gitlab/qa/version.rb#L3

Version data entries

70 entries across 70 versions & 1 rubygems

Version Path
gitlab-qa-4.18.0 docs/release_process.md
gitlab-qa-4.17.0 docs/release_process.md
gitlab-qa-4.16.0 docs/release_process.md
gitlab-qa-4.15.0 docs/release_process.md
gitlab-qa-4.14.0 docs/release_process.md
gitlab-qa-4.13.0 docs/release_process.md
gitlab-qa-4.12.0 docs/release_process.md
gitlab-qa-4.11.0 docs/release_process.md
gitlab-qa-4.10.0 docs/release_process.md
gitlab-qa-4.9.0 docs/release_process.md