Commit 6efc3d6ae197cb551d588ea5ffc200595697abcf

Authored by Sytse Sijbrandij
2 parents 9a968616 7e1baa7f

Merge branch 'release_process' into 'master'

Release Process
Showing 1 changed file with 51 additions and 0 deletions   Show diff stats
doc/release.md 0 → 100644
@@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
  1 +# Omnibus-gitlab release process
  2 +
  3 +Our main goal is to make it clear which version of GitLab is in an omnibus package.
  4 +
  5 +## On your development machine
  6 +
  7 +- Pick a tag of GitLab to package (e.g. `v6.6.0`).
  8 +- Create a release branch in omnibus-gitlab (e.g. `6-6-stable`).
  9 +- Change [the gitlab-rails version in omnibus-gitlab].
  10 + In our example that would be `version "v6.6.0"`.
  11 +- Commit the new version to the release branch
  12 +
  13 +```shell
  14 +git commit -m 'Pin GitLab to v6.6.0' config/software/gitlab-rails.rb
  15 +```
  16 +
  17 +- Create an annotated tag on omnibus-gitlab corresponding to the GitLab tag.
  18 + GitLab tag `v6.6.0` becomes omnibus-gitlab tag `6.6.0.omnibus`.
  19 +
  20 +```shell
  21 +git tag -a 6.6.0.omnibus -m 'Pin GitLab to v6.6.0'
  22 +```
  23 +
  24 +- Push the branch and the tag to the main repository.
  25 +
  26 +```shell
  27 +git push origin 6-6-stable 6.6.0.omnibus
  28 +```
  29 +
  30 +## On the build machines
  31 +
  32 +- Check out the release branch of omnibus-gitlab.
  33 +
  34 +```shell
  35 +git fetch
  36 +git checkout 6-6-stable
  37 +```
  38 +
  39 +- Check the version with `git describe`.
  40 +
  41 +```shell
  42 +git describe # Should start with 6.6.0.omnibus
  43 +```
  44 +
  45 +- Build a package with timestamps disabled.
  46 +
  47 +```shell
  48 +OMNIBUS_APPEND_TIMESTAMP=0 bin/omnibus build project gitlab
  49 +```
  50 +
  51 +[the gitlab-rails version in omnibus-gitlab]: ../config/software/gitlab-rails.rb#L20