Release 9.2
First working day after 7th
Stable branch should be created after the 7th. The 7th is the last date to reliably get things in.
-
In
#development
:``` @channel I am about to create the `9-2-stable` branch. Everything merged into `master` after this point will go into next month's release. Only regression and security fixes will be cherry-picked into `9-2-stable`. Please ensure that merge requests have the correct milestone (`9.2` for this release) and the `Pick into Stable` label. From now on, please follow the "Changes for stable release" process: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#changes-for-stable-releases ```
-
Create branch
9-2-stable
from CEmaster
manually -
Create branch
9-2-stable-ee
from EEmaster
manually -
In Omnibus create both
9-2-stable
and9-2-stable-ee
frommaster
manually -
Sync all created branches with
dev
andgithub
RC1
-
Ensure
omnibus-gitlab
is ready to build packages by asking the Omnibus maintainers -
Follow the Creating RC1 guide:
-
Create MR on CE master updating the "Installation from Source" guide, creating the "Update" guides: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11157
-
Create MR on EE master creating the "CE to EE" guides: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1845
-
Create MR on CE master updating the gitignore and license templates: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11158
-
Create MR on CE master updating the dependencies license list: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11159
-
Ensure above MRs are merged and marked
Pick into Stable
for milestone9.2
-
Bring
9-2-stable-ee
up to date with9-2-stable
: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1849 -
Ensure security fixes from
9.1.3
have been picked into9-2-stable
: https://gitlab.com/gitlab-org/gitlab-ce/issues/32031 -
Ensure security fixes from
9.1.3
have been picked into9-2-stable-ee
: https://gitlab.com/gitlab-org/gitlab-ce/issues/32031 -
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.2 merged merge requests page) into the CE9-2-stable
and EE9-2-stable-ee
branches, respectively.- omnibus-gitlab!1534 (merged)
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11115
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1838
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11159
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1845
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11158
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11157
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10319
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1711
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11209
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1846
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1843
- https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1862
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11165
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11160
- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11156
-
Merge CE
9-2-stable
into EE9-2-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 v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate
=> Stan: Shouldn't this begit diff v9.1.3-ee..origin/9-2-stable-ee -- db/migrate db/post_migrate
? -
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0-rc1
-
Tag the
9.2.0-rc1
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0-rc1]" ```
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE & CE -
In
#production
: I'm going to deploy9.2.0-rc1
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.2.0-rc1.ee.0]"
-
In
#production
: I'm going to deploy9.2.0-rc1
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.2.0-rc1.ee.0]"
-
Tweet about the
9.2.0-rc1
release:``` GitLab 9.2.0-rc1 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
-
-
Create the regression issue in the CE issue tracker using the
regression_issue
task and bookmark it:```sh # In the release-tools project: bundle exec rake "regression_issue[9.2.0]" ```
-
Prepare the blog post using the
new_release_post
task, in thewww-gitlab-com
project:```sh # In the www-gitlab-com project: bundle exec rake "new_release_post[9.2]" ```
RC2
-
Cherry-pick the following merge requests labeled
Pick into Stable
to fix staging and tagged CI issues: -
Follow the Creating subsequent RCs guide for
9.2.0-rc2
:-
Merge CE
9-2-stable
into EE9-2-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 v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate
=> -
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0-rc2
-
Tag the
9.2.0-rc2
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0-rc2]" ```
-
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE & CE -
In
#production
: I'm going to deploy9.2.0-rc2
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.2.0-rc2.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.2.0-rc2
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.2.0-rc2.ee.0, gitlab/unstable]"
-
Tweet about the
9.2.0-rc2
release:``` GitLab 9.2.0-rc2 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
RC3
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.2 merged merge requests page) into the CE9-2-stable
and EE9-2-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.2.0-rc3
:-
Merge CE
9-2-stable
into EE9-2-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 v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate
=> -
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0-rc3
-
Tag the
9.2.0-rc3
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0-rc3]" ```
-
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE & CE -
In
#production
: I'm going to deploy9.2.0-rc3
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.2.0-rc3.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.2.0-rc3
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.2.0-rc3.ee.0, gitlab/unstable]"
-
Tweet about the
9.2.0-rc3
release:``` GitLab 9.2.0-rc3 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from https://gitlab.com/gitlab-org/gitlab-ce/issues/32437 ```
RC4
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.2 merged merge requests page) into the CE9-2-stable
and EE9-2-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.2.0-rc4
:-
Merge CE
9-2-stable
into EE9-2-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 v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate
=> https://gitlab.com/gitlab-org/gitlab-ce/snippets/1662419 -
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0-rc4
-
Tag the
9.2.0-rc4
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0-rc4]" ```
-
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE & CE -
In
#production
: I'm going to deploy9.2.0-rc4
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.2.0-rc4.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.2.0-rc4
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.2.0-rc4.ee.0, gitlab/unstable]"
-
Apply registry fix for https://gitlab.com/gitlab-org/omnibus-gitlab/issues/2350 - instructions in the "On Call Log"
-
Tweet about the
9.2.0-rc4
release:``` GitLab 9.2.0-rc4 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
RC5
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.2 merged merge requests page) into the CE9-2-stable
and EE9-2-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.2.0-rc5
:-
Merge CE
9-2-stable
into EE9-2-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 v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate
=> -
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0-rc5
-
Tag the
9.2.0-rc5
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0-rc5]" ```
-
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE & CE -
In
#production
: I'm going to deploy9.2.0-rc5
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.2.0-rc5.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.2.0-rc5
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.2.0-rc5.ee.0, gitlab/unstable]"
-
Tweet about the
9.2.0-rc5
release:``` GitLab 9.2.0-rc5 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
RC6
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.2 merged merge requests page) into the CE9-2-stable
and EE9-2-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.2.0-rc6
:-
Merge CE
9-2-stable
into EE9-2-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 v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate
=> -
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0-rc6
-
Tag the
9.2.0-rc6
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0-rc6]" ```
-
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE & CE -
In
#production
: I'm going to deploy9.2.0-rc6
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.2.0-rc6.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.2.0-rc6
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.2.0-rc6.ee.0, gitlab/unstable]"
-
Tweet about the
9.2.0-rc6
release:``` !tweet GitLab 9.2.0-rc6 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from https://gitlab.com/gitlab-org/gitlab-ce/issues/32437 ```
RC7
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.2 merged merge requests page) into the CE9-2-stable
and EE9-2-stable-ee
branches, respectively. -
Follow up on MRs that are set to directly merge into
9-2-stable
and9-2-stable-ee
-
Wait for sign-offs on non-regression Pick into Stable MRs
-
Wait for https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11515 to be merged and pick it into
9-2-stable
-
Follow the Creating subsequent RCs guide for
9.2.0-rc7
:-
Merge CE
9-2-stable
into EE9-2-stable-ee
following the Merging a CE stable branch into its EE counterpart guide- Fix conflicts in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/1939
-
Merge
9-2-stable
to9-2-stable-ee
again
-
Check for any problematic migrations in EE (EE migrations include CE ones), and paste the diff in a snippet:
git diff v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate
=> -
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0-rc7
-
Tag the
9.2.0-rc7
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0-rc7]" ```
-
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE & CE -
In
#production
: I'm going to deploy9.2.0-rc7
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.2.0-rc7.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.2.0-rc7
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.2.0-rc7.ee.0, gitlab/unstable]"
-
Tweet about the
9.2.0-rc7
release:``` GitLab 9.2.0-rc7 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
QA
- Determine QA person and notify this person: MENTION_THIS_PERSON_HERE
- Do QA and fix anything coming out of it: LINK_TO_QA_ISSUE
Anytime after RC1 but before 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! ```
-
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 -
Create another RC as needed.
Keep in mind that:
- After feature freeze only regression and security fixes can be
cherry-picked into
9-2-stable
. - Last RC should point to the same commit as the final release.
Copy-paste the tasks below for any other RCs (be sure to update the RC number).
#### RC2
- [ ] Cherry-pick merge requests labeled [`Pick into Stable`] for the current
milestone (you can take advantage of the
[`Pick into Stable` 9.2 merged merge requests] page) into
the CE `9-2-stable` and EE `9-2-stable-ee`
branches, respectively.
- Follow the [Creating subsequent RCs] guide for `9.2.0-rc2`:
- [ ] Merge CE `9-2-stable` into EE `9-2-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 v9.2.0-rc1-ee..9-2-stable-ee -- db/migrate db/post_migrate` =>
- [ ] Sync CE, EE, and Omnibus to `dev`
- [ ] Ensure tests are green on [CE stable branch]
- [ ] Ensure tests are green on [EE stable branch]
- [ ] Ensure tests are green on [Omnibus CE stable branch]
- [ ] Ensure tests are green on [Omnibus EE stable branch]
- [ ] In `#releases`: I'm going to tag `9.2.0-rc2`
- [ ] Tag the `9.2.0-rc2` version using the [`release` task]:
```sh
# In the release-tools project:
bundle exec rake "release[9.2.0-rc2]"
```
- [ ] 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=9.2.0-rc2)
- [ ] In `#production`: I'm going to deploy `9.2.0-rc2` to staging
```sh
# In the chef-repo project:
bundle exec rake "deploy[staging, 9.2.0-rc2.ee.0, gitlab/unstable]"
```
- [ ] [Deploy] [`9.2.0-rc2`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_9.2.0-rc2.ee.0_amd64.deb) to [staging.gitlab.com]
- [ ] In `#production`: I'm going to deploy `9.2.0-rc2` to production
```sh
# In the chef-repo project:
bundle exec rake "deploy[production, 9.2.0-rc2.ee.0, gitlab/unstable]"
```
- [ ] [Deploy] [`9.2.0-rc2`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_9.2.0-rc2.ee.0_amd64.deb) to GitLab.com
- [ ] Tweet about the `9.2.0-rc2` release:
```
GitLab 9.2.0-rc2 is available: https://packages.gitlab.com/gitlab/unstable
Use at your own risk. Please link regressions issues from
LINK_TO_REGRESSION_ISSUE
```
22nd before 1700 CET:
No new code is added to release that was not included in the last RC. This way we ensure the release does not introduce new regressions.
-
Before 06:00 Pacific (mostly 15:00 CET):
-
Cherry-pick last few unavoidable fixes:
-
Sync CE, EE, and Omnibus to
dev
-
Ensure tests are green on CE stable branch
-
Ensure tests are green on EE stable branch
-
Ensure tests are green on Omnibus CE stable branch
-
Ensure tests are green on Omnibus EE stable branch
-
In
#releases
: I'm going to tag9.2.0
-
Tag the
9.2.0
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.2.0]" ```
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE / CE
-
-
Before 07:00 Pacific (mostly 16:00 CET):
-
In
#production
: I'm going to deploy9.2.0
to staging -
Deploy
9.2.0
to staging.gitlab.com -
In
#production
: I'm going to deploy9.2.0
to production -
Deploy
9.2.0
to GitLab.com -
Create the
9.2.0
version on https://version.gitlab.com -
Create the first patch issue using the
patch_issue
task:# In the release-tools project: bundle exec rake "patch_issue[9.2.1]"
-
-
At 0800 Pacific (mostly 17:00 CET):
- Publish the release blog post
-
Ensure someone tweets about the
9.2.0
release