Release 9.3
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-3-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-3-stable`. Please ensure that merge requests have the correct milestone (`9.3` for this release) and the `Pick into Stable` label. From now on, please follow the "After the 7th" process: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/PROCESS.md#after-the-7th ```
-
Create branch
9-3-stable
from CE9-2-stable
manually -
Create branch
9-3-stable-ee
from EE9-2-stable-ee
manually -
In Omnibus create both
9-3-stable
and9-3-stable-ee
from9-2-stable
manually -
Merge GitLab CE into EE on the stable branches
-
Sync CE, EE, and Omnibus to
dev
RC1
-
Ensure
omnibus-gitlab
is ready to build packages by asking the Omnibus maintainers -
Follow the Creating RC1 guide:
-
Pick https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10885 into
9-3-stable
as planned in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10885#note_30026564 -
Merge
9-3-stable
into9-3-stable-ee
, sync to all remotes and ensure Pipeline is green -
Create MR on CE master updating the "Installation from Source" guide, creating the "Update" guides. https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12038
-
Create MR on EE master creating the "CE to EE" guides https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2101
-
Create MR on CE master updating the gitignore and license templates https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12041
-
Create MR on CE master updating the dependencies license list https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12042
-
[ ] Ensure above MRs are merged and markedNot required for RC1 as per https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10885#note_30026564Pick into Stable
for milestone9.3
-
[ ] Cherry-pick merge requests labeledNot required for RC1 as per https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10885#note_30026564Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.3 merged merge requests page) into the CE9-3-stable
and EE9-3-stable-ee
branches, respectively. -
Merge CE
9-3-stable
into EE9-3-stable-ee
following the Merging a CE stable branch into its EE counterpart guide -
Sync CE, EE, and Omnibus to
dev
-
Check for any problematic migrations in EE (EE migrations include CE ones), and paste the diff in a snippet:
git diff v9.2.5-ee..9-3-stable-ee -- db/migrate db/post_migrate
=> https://gitlab.com/gitlab-org/gitlab-ce/snippets/1664431 -
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
-
Make sure to announce the deployment on Twitter and GitLab.com
- With downtime: 1 hour before
- Without downtime: 15 minutes before
-
In
#releases
: I'm going to tag9.3.0-rc1
-
Tag the
9.3.0-rc1
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.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.3.0-rc1
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.3.0-rc1.ee.0]"
-
Do the deploy of
9.3.0-rc1
to staging.gitlab.com -
In
#production
: I'm going to deploy9.3.0-rc1
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.3.0-rc1.ee.0]"
-
Tweet about the deploy, at this point the deploy alert banner on GitLab.com should already be up.
-
Post a tweet about the
9.3.0-rc1
release:``` GitLab 9.3.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.3.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.3]" ```
RC2
-
Merge CE
master
into9-3-stable
till commit https://gitlab.com/gitlab-org/gitlab-ce/commit/b1bf6d88fceb24663bfe4be2d9cc111710d9126b (https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12073) -
Merge EE
master
into9-3-stable-ee
till commit https://gitlab.com/gitlab-org/gitlab-ee/commit/86051969bd10f2c75540add61424aa12bb21e265 (https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2106) -
Ensure https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12041 changes are matching to generated changes when
bin/rake gitlab:update_templates
is run on9-3-stable
. As per Release doc. -
Ensure https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12042 changes are matching to generated changes when
bin/bundle exec license_finder report --format=csv --save=vendor/licenses.csv
is run on9-3-stable
. As per Release doc. -
Make sure following MRs are merged into
master
; -
Cherry-pick merge requests labeledAll regressions for %9.3 will go in RC3 except for critical MRs.Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.3 merged merge requests page) into the CE9-3-stable
and EE9-3-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.3.0-rc2
:-
Merge CE
9-3-stable
into EE9-3-stable-ee
following the Merging a CE stable branch into its EE counterpart guide -
Sync CE, EE, and Omnibus to
dev
-
Check for any problematic migrations in EE (EE migrations include CE ones), and paste the diff in a snippet:
git diff v9.3.0-rc1-ee..9-3-stable-ee -- db/migrate db/post_migrate
=> https://gitlab.com/snippets/1665149 -
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
-
Make sure to announce the deployment on Twitter and GitLab.com
- With downtime: 1 hour before
- Without downtime: 15 minutes before
-
In
#releases
: I'm going to tag9.3.0-rc2
-
Tag the
9.3.0-rc2
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.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.3.0-rc2
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.3.0-rc2.ee.0, gitlab/unstable]"
-
In#production
: I'm going to deploy9.3.0-rc2
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.3.0-rc2.ee.0, gitlab/unstable]"
-
Tweet about the deploy, at this point the deploy alert banner on GitLab.com should already be up. -
Post a tweet about the9.3.0-rc2
release:``` GitLab 9.3.0-rc2 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
-
RC2 couldn't be deployed due to post-migrations related problem as discussed here https://gitlab.com/gitlab-org/gitlab-ce/issues/33736#note_32561501
RC3
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.3 merged merge requests page) into the CE9-3-stable
and EE9-3-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.3.0-rc3
:-
Merge CE, Not required as we picked only fixes for post-deployment migrations into EE for the issues we faced in RC2.9-3-stable
into EE9-3-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.3.0-rc1-ee..9-3-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.3.0-rc3
-
Tag the
9.3.0-rc3
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.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.3.0-rc3
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.3.0-rc3.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.3.0-rc3
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.3.0-rc3.ee.0, gitlab/unstable]"
-
Tweet about the
9.3.0-rc3
release:``` GitLab 9.3.0-rc3 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
RC4
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.3 merged merge requests page) into the CE9-3-stable-rc4
and EE9-3-stable-ee-rc4
branches, respectively. -
Ensure https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12260 is merged (
9-3-stable-rc4 => 9-3-stable
) -
Ensure https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2161 is merged (
9-3-stable-ee-rc4 => 9-3-stable-ee
) -
Follow the Creating subsequent RCs guide for
9.3.0-rc4
:-
Merge CE
9-3-stable
into EE9-3-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.3.0-rc3-ee..9-3-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 (Will stay red until next RC because it uses last tag)
-
Ensure tests are green on Omnibus EE stable branch (Will stay red until next RC because it uses last tag)
-
In
#releases
: I'm going to tag9.3.0-rc4
-
Tag the
9.3.0-rc4
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.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.3.0-rc4
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.3.0-rc4.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.3.0-rc4
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.3.0-rc4.ee.0, gitlab/unstable]"
-
Tweet about the
9.3.0-rc4
release:``` GitLab 9.3.0-rc4 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/33531 ```
RC5
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.3 merged merge requests page) into the CE9-3-stable
and EE9-3-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.3.0-rc5
:-
Merge CE
9-3-stable
into EE9-3-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.3.0-rc1-ee..9-3-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.3.0-rc5
-
Tag the
9.3.0-rc5
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.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.3.0-rc5
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.3.0-rc5.ee.0, gitlab/unstable]"
-
[ ] In#production
: I'm going to deploy9.3.0-rc5
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.3.0-rc5.ee.0, gitlab/unstable]"
-
[ ] Tweet about the9.3.0-rc5
release:``` GitLab 9.3.0-rc5 is available: https://packages.gitlab.com/gitlab/unstable Use at your own risk. Please link regressions issues from LINK_TO_REGRESSION_ISSUE ```
RC5 was reverted because of merge requests regression, see https://gitlab.com/gitlab-org/gitlab-ce/issues/33999 for more details
RC6
-
Cherry-pick merge requests labeled
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.3 merged merge requests page) into the CE9-3-stable
and EE9-3-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.3.0-rc6
:-
Merge CE
9-3-stable
into EE9-3-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.3.0-rc1-ee..9-3-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.3.0-rc6
-
Tag the
9.3.0-rc6
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.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.3.0-rc6
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.3.0-rc6.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.3.0-rc6
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.3.0-rc6.ee.0, gitlab/unstable]"
-
Tweet about the
9.3.0-rc6
release:``` GitLab 9.3.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
Pick into Stable
for the current milestone (you can take advantage of thePick into Stable
9.3 merged merge requests page) into the CE9-3-stable
and EE9-3-stable-ee
branches, respectively. -
Follow the Creating subsequent RCs guide for
9.3.0-rc7
:-
Merge CE
9-3-stable
into EE9-3-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.3.0-rc1-ee..9-3-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.3.0-rc7
-
Tag the
9.3.0-rc7
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.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.3.0-rc7
to stagingsh # In the chef-repo project: bundle exec rake "deploy[staging, 9.3.0-rc7.ee.0, gitlab/unstable]"
-
In
#production
: I'm going to deploy9.3.0-rc7
to productionsh # In the chef-repo project: bundle exec rake "deploy[production, 9.3.0-rc7.ee.0, gitlab/unstable]"
-
Tweet about the
9.3.0-rc7
release:``` GitLab 9.3.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-3-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).
#### RC3
- [ ] Cherry-pick merge requests labeled [`Pick into Stable`] for the current
milestone (you can take advantage of the
[`Pick into Stable` 9.3 merged merge requests] page) into
the CE `9-3-stable` and EE `9-3-stable-ee`
branches, respectively.
- Follow the [Creating subsequent RCs] guide for `9.3.0-rc3`:
- [ ] Merge CE `9-3-stable` into EE `9-3-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.3.0-rc1-ee..9-3-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.3.0-rc3`
- [ ] Tag the `9.3.0-rc3` version using the [`release` task]:
```sh
# In the release-tools project:
bundle exec rake "release[9.3.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=9.3.0-rc3)
- [ ] In `#production`: I'm going to deploy `9.3.0-rc3` to staging
```sh
# In the chef-repo project:
bundle exec rake "deploy[staging, 9.3.0-rc3.ee.0, gitlab/unstable]"
```
- [ ] [Deploy] [`9.3.0-rc3`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_9.3.0-rc3.ee.0_amd64.deb) to [staging.gitlab.com]
- [ ] In `#production`: I'm going to deploy `9.3.0-rc3` to production
```sh
# In the chef-repo project:
bundle exec rake "deploy[production, 9.3.0-rc3.ee.0, gitlab/unstable]"
```
- [ ] [Deploy] [`9.3.0-rc3`](https://packages.gitlab.com/gitlab/unstable/packages/ubuntu/xenial/gitlab-ee_9.3.0-rc3.ee.0_amd64.deb) to GitLab.com
- [ ] Tweet about the `9.3.0-rc3` release:
```
GitLab 9.3.0-rc3 is available: https://packages.gitlab.com/gitlab/unstable
Use at your own risk. Please link regressions issues from
LINK_TO_REGRESSION_ISSUE
```
22nd before 15:00 UTC:
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 13:00 UTC:
-
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
-
Make sure to announce the deployment on Twitter and GitLab.com
- With downtime: 1 hour before
- Without downtime: 15 minutes before
-
In
#releases
: I'm going to tag9.3.0
-
Tag the
9.3.0
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[9.3.0]" ```
-
Check that EE packages are built, CE packages are built and appears on
packages.gitlab.com
: EE / CE
-
-
Before 14:00 UTC:
-
In
#production
: I'm going to deploy9.3.0
to staging -
Do the deploy of
9.3.0
to staging.gitlab.com -
In
#production
: I'm going to deploy9.3.0
to production -
Tweet about the deploy, at this point the deploy alert banner on GitLab.com should already be up.
-
Create the
9.3.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.3.1]"
-
-
At 15:00 UTC:
- Publish the release blog post
-
Ensure someone tweets about the
9.3.0
release