Sha256: acf4c73d295bda3edc44933eda99717119e2b0069caca1fccc730ce6bb7b0320

Contents?: true

Size: 1.86 KB

Versions: 98

Compression:

Stored size: 1.86 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.
- The new version should automatically be tagged and pushed to Rubygems by the `gem-release` job in the merge commit pipeline.
- Update the release notes for the newly created tag (https://gitlab.com/gitlab-org/gitlab-qa/-/tags):
  * **Release notes**: Copy the release notes from the merge request.

Note: The `gem-release` job uses:

- the `GITLAB_API_TOKEN` environment variable to authenticate against GitLab.com's API in order to create the tag
- the `GEM_HOST_API_KEY` environment variable to authenticate against Rubygems.org's API in order to release the gem

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

Version data entries

98 entries across 98 versions & 1 rubygems

Version Path
gitlab-qa-8.0.0 docs/release_process.md
gitlab-qa-7.36.0 docs/release_process.md
gitlab-qa-7.35.0 docs/release_process.md
gitlab-qa-7.34.0 docs/release_process.md
gitlab-qa-7.33.0 docs/release_process.md
gitlab-qa-7.32.0 docs/release_process.md
gitlab-qa-7.31.0 docs/release_process.md
gitlab-qa-7.30.0 docs/release_process.md
gitlab-qa-7.29.1 docs/release_process.md
gitlab-qa-7.29.0 docs/release_process.md
gitlab-qa-7.27.2 docs/release_process.md
gitlab-qa-7.27.1 docs/release_process.md
gitlab-qa-7.27.0 docs/release_process.md
gitlab-qa-7.26.0 docs/release_process.md
gitlab-qa-7.25.1 docs/release_process.md
gitlab-qa-7.25.0 docs/release_process.md
gitlab-qa-7.24.6 docs/release_process.md
gitlab-qa-7.24.5 docs/release_process.md
gitlab-qa-7.24.4 docs/release_process.md
gitlab-qa-7.24.3 docs/release_process.md