Skip to content

Release 8.12

31st: (16 working days before the 22nd)

1st: (15 working days before the 22nd)

RC1

We didn't deploy RC1 because it was using a wrong version for GITLAB_WORKHORSE_VERSION

RC2

RC3

RC4

RC5

RC6

RC7

Anytime between 1st (15 working days before the 22nd) and 16th (4 working days before the 22nd)

Copy-paste the tasks below for any other RCs (be sure to update the RC number).

#### RC2

- [ ] Merge CE `master` into CE `8-12-stable`
- [ ] Merge EE `master` into EE `8-12-stable-ee`
- Follow the [Creating subsequent RCs] guide for `8.12.0-rc2`:
  - [x] Merge CE `8-12-stable` into EE `8-12-stable-ee` following the [Merging a CE stable branch into its EE counterpart] guide
  - [x] Check for any problematic migrations in EE (EE migrations include CE ones), and paste the diff in a snippet: `git diff v8.12.0-rc1-ee..8-12-stable-ee -- db/migrate` =>
  - [ ] Sync CE, EE, and Omnibus to `dev`
  - [x] Ensure [tests are green on CE]
  - [x] Ensure [tests are green on EE]
  - [x] In `#releases`: I'm going to tag `8.12.0-rc2`
  - [ ] Tag the `8.12.0-rc2` version using the [`release` task]:

        ```sh
        bundle exec rake "release[8.12.0-rc2]"
        ```
- [x] Check that [EE packages are built], [CE packages are built] and appears on `packages.gitlab.com`: [EE & CE](https://packages.gitlab.com/app/gitlab/unstable/search?q=8.12.0-rc2)
- [x] In `#infrastructure`: I'm going to deploy `8.12.0-rc2` to staging
- [x] Deploy [`8.12.0-rc2`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_8.12.0-rc2-ee.0_amd64.deb) to [staging.gitlab.com]
- [x] In `#infrastructure`: I'm going to deploy `8.12.0-rc2` to production
- [x] Deploy [`8.12.0-rc2`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_8.12.0-rc2-ee.0_amd64.deb) to [GitLab.com]

Only after the 13th (7 working days before the 22nd)

- [ ] Tweet about the `8.12.0-rc2` release:

      ```
      GitLab 8.12.0-rc2 is available: https://packages.gitlab.com/gitlab/unstable
      Use at your own risk. Please link regressions issues from
      LINK_TO_REGRESSION_ISSUE
      ```

13th: (7 working days before the 22nd)

Anytime between 19th (3 working days before the 22nd) and 21st (1 working day before the 22nd)

  • In #core:

    @developers
    
    TL;DR: Ensure the `8.12.0` milestone and the `Pick into Stable` label are set, no need to ping me.
    
    From now on, please follow the "Change for stable release" process:
    https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#changes-for-stable-releases

Copy-paste the tasks below for any other RCs (be sure to update the RC number).

#### RC3

- [x] Cherry-pick merge requests labeled [`Picked into Stable`] for the current
  milestone (you can take advantage of the
  [`Picked into Stable` 8.12 merged merge requests] page) into
  the CE `8-12-stable` and EE `8-12-stable-ee`
  branches, respectively
- Follow the [Creating subsequent RCs] guide for `8.12.0-rc3` (**be sure to use the correct RC number**):
  - [x] Merge CE `8-12-stable` into EE `8-12-stable-ee` following the [Merging a CE stable branch into its EE counterpart] guide
  - [x] Check for any problematic migrations in EE (EE migrations include CE ones), and paste the diff in a snippet: `git diff v8.12.0-rc2-ee..8-12-stable-ee -- db/migrate` =>
  - [ ] Sync CE, EE, and Omnibus to `dev`
  - [x] Ensure [tests are green on CE]
  - [x] Ensure [tests are green on EE]
  - [ ] In `#releases`: I'm going to tag `8.12.0-rc3`
  - [ ] Tag the `8.12.0-rc3` version using the [`release` task]:

        ```sh
        bundle exec rake "release[8.12.0-rc3]"
        ```
- [ ] Check that [EE packages are built], [CE packages are built] and appears on `packages.gitlab.com`: [EE & CE](https://packages.gitlab.com/app/gitlab/unstable/search?q=8.12.0-rc3)
- [ ] In `#infrastructure`: I'm going to deploy `8.12.0-rc3` to staging
- [ ] Deploy [`8.12.0-rc3`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_8.12.0-rc3-ee.0_amd64.deb) to [staging.gitlab.com]
- [ ] In `#infrastructure`: I'm going to deploy `8.12.0-rc3` to production
- [ ] Deploy [`8.12.0-rc3`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_8.12.0-rc3-ee.0_amd64.deb) to [GitLab.com]
- [ ] Tweet about the `8.12.0-rc3` release:

      ```
      GitLab 8.12.0-rc3 is available: https://packages.gitlab.com/gitlab/unstable
      Use at your own risk. Please link regressions issues from
      LINK_TO_REGRESSION_ISSUE
      ```

19th: (3 working days before the 22nd)

  • Check that everyone is mentioned on the blog post using @all:

    ```
    Hello @all, this is the monthly release post that will go out on the 22nd,
    announcing the new GitLab version. Look through it to see if we can make any
    changes and feel free to comment with suggestions or questions!
    ```
    
    or, if the blog post is still very much a work in progress:
    
    ```
    Hello @all, this is the merge request for the monthly release post that will
    go out on the 22nd, announcing the new GitLab version. Right now it's all
    boilerplate, but feel free to remind us about things that shouldn't be left
    out!
    ```

20th: (2 working days before the 22nd)

  • Ask in #core for suggestions about who should be this release's MVP. Once chosen, add them to the blog post and to the MVP page, in the same merge request

21st: (1 working day before the 22nd)

Ideally, the last RC should be released no later than this day and should point to the same commit as the final release.

22nd before 1200 CET:

Release before 1200 CET / 2AM PST, to make sure the majority of our users get the new version on the 22nd and there is sufficient time in the European workday to quickly fix any issues.

  • Before 0800 PDT / 1700 CET:

    • Remove (unreleased) from CHANGELOG and add a (unreleased) line for the next patch

    • Remove (unreleased) from CHANGELOG-EE and add a (unreleased) line for the next patch

    • Merge CE 8-12-stable into EE 8-12-stable-ee following the Merging a CE stable branch into its EE counterpart guide

    • Check for any problematic migrations in EE (EE migrations include CE ones), and paste the diff in a snippet: git diff v8.12.0-rc7-ee..8-12-stable-ee -- db/migrate =>

    • Sync CE, EE, and Omnibus to dev

    • Ensure tests are green on CE

    • Ensure tests are green on EE

    • In #releases: I'm going to tag 8.12.0

    • Tag the 8.12.0 version using the release task:

      ```sh
      bundle exec rake "release[8.12.0]"
      ```
    • Check that EE packages are built, CE packages are built and appears on packages.gitlab.com: EE / CE

    • Update the version in the VERSION file to 8.13.0-pre and create the v8.13.0.pre tag:

      echo "8.13.0-pre" > VERSION
      git add VERSION && git ci # ci = commit --gpg-sign --signoff --verbose
      git pdog # pdog = push dev,origin,github
      git tag -s v8.13.0.pre -m "Update VERSION to 8.13.0.pre"
      git pdog v8.13.0.pre:v8.13.0.pre
  • Before 0900 PDT / 1800 CET:

  • At 1000 PDT / 1900 CET:

    • Publish the release blog post
    • Ensure someone tweets about the 8.12.0 release
    • Upgrade the #gitlab channel's topic on IRC Freenode with the latest version number