Release 8.12
31st: (16 working days before the 22nd)
- 
Triage the Omnibus milestone 
1st: (15 working days before the 22nd)
RC1
- 
Ensure omnibus-gitlabis ready to build packages by asking the Omnibus maintainers
- Follow the Creating RC1 guide:
- 
Update the "Installation from Source" guide (thanks @jacobvosmaer-gitlab) 
- 
Create the Update guides 
- 
Have someone run bin/rake gitlab:update_templatesand open a merge request to master with ~"Pick into Stable": https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6163
- 
Merge GitLab CE into EE via merge request: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/720 
- 
Check for any problematic migrations in EE (EE migrations include CE ones), and paste the diff in a snippet: git diff LATEST_PATCH_TAG-ee..master -- db/migrate=> https://gitlab.com/gitlab-org/gitlab-ce/snippets/25766
- 
Sync CE, EE, and Omnibus to dev
- 
In #core:``` @developers I am about to tag `8.12.0-rc1`. I will still merge `master` into `8-12-stable` until the 16th. ```
- 
Ensure tests are green on CE 
- 
Ensure tests are green on EE 
- 
In #releases: I'm going to tag8.12.0-rc1
- 
Tag the 8.12.0-rc1version using thereleasetask:```sh bundle exec rake "release[8.12.0-rc1]" ```
 
- 
- 
Check that EE packages are built, CE packages are built and appears onpackages.gitlab.com: EE & CE
- 
In#infrastructure: I'm going to deploy8.12.0-rc1to staging
- 
Deploy8.12.0-rc1to staging.gitlab.com
- 
In#infrastructure: I'm going to deploy8.12.0-rc1to production
- 
Deploy8.12.0-rc1to GitLab.com
We didn't deploy RC1 because it was using a wrong version for GITLAB_WORKHORSE_VERSION
- 
Create the regression issue in the CE issue tracker using the regression_issuetask and bookmark it:```sh bundle exec rake "regression_issue[8.12.0]" ```
- 
Prepare the blog post using the new_release_posttask, in thewww-gitlab-comproject:```sh bundle exec rake "new_release_post[8.12]" ```
RC2
- 
Merge CE masterinto CE8-12-stable
- 
Merge EE masterinto EE8-12-stable-ee
- Follow the Creating subsequent RCs guide for 8.12.0-rc2:- 
Merge CE 8-12-stableinto EE8-12-stable-eefollowing 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-rc1-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 tag8.12.0-rc2
- 
Tag the 8.12.0-rc2version using thereleasetask:```sh bundle exec rake "release[8.12.0-rc2]" ```
 
- 
- 
Check that EE packages are built, CE packages are built and appears on packages.gitlab.com: EE & CE
- 
In #infrastructure: I'm going to deploy8.12.0-rc2to staging
- 
Deploy 8.12.0-rc2to staging.gitlab.com
- 
In #infrastructure: I'm going to deploy8.12.0-rc2to production
- 
Deploy 8.12.0-rc2to GitLab.com
RC3
- 
Merge CE masterinto CE8-12-stable
- 
Merge EE masterinto EE8-12-stable-ee
- Follow the Creating subsequent RCs guide for 8.12.0-rc3:- 
Merge CE 8-12-stableinto EE8-12-stable-eefollowing 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-rc2-ee..8-12-stable-ee -- db/migrate=> https://gitlab.com/gitlab-org/gitlab-ce/snippets/26175
- 
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 tag8.12.0-rc3
- 
Tag the 8.12.0-rc3version using thereleasetask:```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
- 
In #infrastructure: I'm going to deploy8.12.0-rc3to staging
- 
Deploy 8.12.0-rc3to staging.gitlab.com
- 
In #infrastructure: I'm going to deploy8.12.0-rc3to production
- 
Deploy 8.12.0-rc3to GitLab.com
RC4
- 
Merge CE masterinto CE8-12-stable
- 
Merge EE masterinto EE8-12-stable-ee
- Follow the Creating subsequent RCs guide for 8.12.0-rc4:- 
Merge CE 8-12-stableinto EE8-12-stable-eefollowing 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-rc3-ee..8-12-stable-ee -- db/migrate=> https://gitlab.com/gitlab-org/gitlab-ce/snippets/26333
- 
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 tag8.12.0-rc4
- 
Tag the 8.12.0-rc4version using thereleasetask:```sh bundle exec rake "release[8.12.0-rc4]" ```
 
- 
- 
Check that EE packages are built, CE packages are built and appears on packages.gitlab.com: EE & CE
- 
In #infrastructure: I'm going to deploy8.12.0-rc4to staging
- 
Deploy 8.12.0-rc4to staging.gitlab.com
- 
In #infrastructure: I'm going to deploy8.12.0-rc4to production
- 
Deploy 8.12.0-rc4to GitLab.com
RC5
- 
Merge CE masterinto CE8-12-stable
- 
Merge EE masterinto EE8-12-stable-ee
- Follow the Creating subsequent RCs guide for 8.12.0-rc5:- 
Merge CE 8-12-stableinto EE8-12-stable-eefollowing 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-rc4-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 tag8.12.0-rc5
- 
Tag the 8.12.0-rc5version using thereleasetask:```sh bundle exec rake "release[8.12.0-rc5]" ```
 
- 
- 
Check that EE packages are built, CE packages are built and appears on packages.gitlab.com: EE & CE
- 
In #infrastructure: I'm going to deploy8.12.0-rc5to staging
- 
Deploy 8.12.0-rc5to staging.gitlab.com
- 
In #infrastructure: I'm going to deploy8.12.0-rc5to production
- 
Deploy 8.12.0-rc5to GitLab.com
RC6
- 
Cherry-pick merge requests labeled Picked into Stablefor the current milestone (you can take advantage of thePicked into Stable8.12 merged merge requests page) into the CE8-12-stableand EE8-12-stable-eebranches, respectively
- 
Follow the Creating subsequent RCs guide for 8.12.0-rc6(be sure to use the correct RC number):- 
Merge CE 8-12-stableinto EE8-12-stable-eefollowing 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-rc5-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 tag8.12.0-rc6
- 
Tag the 8.12.0-rc6version using thereleasetask:```sh bundle exec rake "release[8.12.0-rc6]" ```
 
- 
- 
Check that EE packages are built, CE packages are built and appears on packages.gitlab.com: EE & CE
- 
In #infrastructure: I'm going to deploy8.12.0-rc6to staging
- 
Deploy 8.12.0-rc6to staging.gitlab.com
- 
In #infrastructure: I'm going to deploy8.12.0-rc6to production
- 
Deploy 8.12.0-rc6to GitLab.com
- 
Tweet about the 8.12.0-rc6release:``` GitLab 8.12.0-rc6 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
RC7
- 
Cherry-pick merge requests labeled Picked into Stablefor the current milestone (you can take advantage of thePicked into Stable8.12 merged merge requests page) into the CE8-12-stableand EE8-12-stable-eebranches, respectively
- 
Follow the Creating subsequent RCs guide for 8.12.0-rc7(be sure to use the correct RC number):- 
Merge CE 8-12-stableinto EE8-12-stable-eefollowing 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-rc6-ee..8-12-stable-ee -- db/migrate=> https://gitlab.com/gitlab-org/gitlab-ce/snippets/26736
- 
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 tag8.12.0-rc7
- 
Tag the 8.12.0-rc7version using thereleasetask:```sh bundle exec rake "release[8.12.0-rc7]" ```
 
- 
- 
Check that EE packages are built, CE packages are built and appears on packages.gitlab.com: EE & CE
- 
In #infrastructure: I'm going to deploy8.12.0-rc7to staging
- 
Deploy 8.12.0-rc7to staging.gitlab.com
- 
In #infrastructure: I'm going to deploy8.12.0-rc7to production
- 
Deploy 8.12.0-rc7to GitLab.com
- 
Tweet about the 8.12.0-rc7release:``` GitLab 8.12.0-rc7 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
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)
- 
Determine QA person and notify this person: @markglenfletcher 
- 
Do QA and fix anything coming out of it: https://gitlab.com/gitlab-org/gitlab-ce/issues/22262 
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 #corefor 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)fromCHANGELOGand add a(unreleased)line for the next patch
- 
Remove (unreleased)fromCHANGELOG-EEand add a(unreleased)line for the next patch
- 
Merge CE 8-12-stableinto EE8-12-stable-eefollowing 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 tag8.12.0
- 
Tag the 8.12.0version using thereleasetask:```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 VERSIONfile to8.13.0-preand create thev8.13.0.pretag: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: - 
In #infrastructure: I'm going to deploy8.12.0to staging
- 
Deploy 8.12.0to staging.gitlab.com
- 
In #infrastructure: I'm going to deploy8.12.0to production
- 
Deploy 8.12.0to GitLab.com
- 
Check that the 8.12.0version was automatically created on https://version.gitlab.com
- 
Create the first patch issue using the patch_issuetask:bundle exec rake "patch_issue[8.12.1]"
 
- 
- 
At 1000 PDT / 1900 CET: - 
Publish the release blog post 
- 
Ensure someone tweets about the 8.12.0release
- 
Upgrade the #gitlabchannel's topic on IRC Freenode with the latest version number
 
-