Release 11.4
First steps
Stable branch should be created after the 7th. The 7th is the last date to reliably get things in.
-
Assign this issue to all the release managers and trainees -
Create a new slack channel #f_release_11_4 -
Set the channel topic to RMs: https://about.gitlab.com/release-managers -
Invite all current release managers -
Inside the channel invite trainees to start their onboarding Welcome @TRAINEE_1 and @TRAINEE_2 :wave: If you haven't done it already, please start your onboarding issue https://gitlab.com/gitlab-org/release/docs/blob/master/quickstart/release-manager.md Let us know if you have any questions! -
Inside the old release slack channel, notify about #f_release_11_4Hello :wave: We are starting 11.4 into #f_release_11_4 Please archive this channel and join #f_release_11_4 if interested -
Create the ~"Pick into 11.4" group label if it doesn't exist: https://gitlab.com/groups/gitlab-org/labels/new - Title:
Pick into 11.4 - Description:
Merge requests to cherry-pick into the `11-4-stable` branch. - Color:
#00c8ca
- Title:
-
Make sure the latest CE to EE on masterbranches is merged (it will reduce conflicts in the future). Ask in#ce-to-eewhen in doubt. -
Create branch 11-4-stablefrom CEmastermanually -
Create branch 11-4-stable-eefrom EEmastermanually -
In Omnibus create both 11-4-stableand11-4-stable-eefrommastermanually -
Merge GitLab CE into EE on stable branches following the Merging a CE stable branch into its EE counterpart guide -
Sync stable branches for CE, EE, and Omnibus to dev -
Sync master branches to dev, as the CHANGELOG will be automatically updated on master during tagging -
If needed, sync tags for dependencies ( gitlab-shell,gitlab-workhorse,gitlab-pages,gitaly) todev(when applicable. Builds should fail if this is needed.)
RC1
- Follow the Creating RC1 guide:
-
Create an MR on CE master updating the "Installation from Source" guide, creating the "Update" guides -
Create an MR on EE master creating the "CE to EE" guides -
Ensure the above MRs are merged and marked ~"Pick into 11.4" -
Create a task list for RC1: # In Slack: /chatops run release_issue 11.4.0-rc1 -
Link the RC1 issue as a related issue in this issue
-
Subsequent RCs
-
Update the blog post (gitlab-com/www-gitlab-com!15078 (merged)) upgrade barometersection with the migration types for this release, including the time they took to complete. -
Create additional release candidates as needed:
# In Slack (update RC number): /chatops run release_issue 11.4.0-rc2 -
Link any subsequent RCs issues as a related issue in this issue
Keep in mind that:
- After the feature freeze only regression, security, and documentation fixes should be cherry-picked into stable branches.
- The final RC should point to the same commit as the final release.
On the first working day after the 7th
-
Follow the Feature freeze RC guide:
-
Create an MR on CE master updating the .gitignore,.gitlab-ci.yml, andDockerfiletemplates -
Create an MR on CE master updating the dependencies license list -
Ensure the above MRs are merged and marked ~"Pick into 11.4" -
Merge CE master into EE master -
Integrate changes from master into 11-4-stable
-
-
In #development:@channel `11-4-stable` branch has been created. Everything merged into `master` after this point will go into next month's release. Only regression and security fixes will be cherry-picked into `11-4-stable`. Please ensure that merge requests have the correct milestone (`11.4` for this release) and the `Pick into 11.4` 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
Final RC
The final RC should be created on the 21st of the month.
Before 13:00 UTC
Including changes at this stage requires signoff from the VP of Engineering.
-
Create a task list for the final RC: # In Slack (update RC number): /chatops run release_issue 11.4.0-rc22
At 15:00 UTC
If the final RC isn't tagged and deployed by this time, notify the Distribution Lead.
At 20:00 UTC
If the final RC still isn't tagged and deployed by this time, notify the VP of Engineering.
22nd: release day
No new code can be added to the release that was not included in the final RC.
-
At 08:00 UTC, final release is ready for tagging (Including changes at this stage requires signoff from the VP of Engineering):
-
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 -
Sync stable branches for CE, EE, and Omnibus to dev -
Sync master branches to dev, as the CHANGELOG will be automatically updated on master during tagging
-
-
Before 10:00 UTC:
-
Tag the 11.4.0version using thereleasecommand:```sh # In Slack: /chatops run tag 11.4.0 ``` -
Check progress of EE packages build and CE packages build -
Warm up the packages on takeoff by running: sh # In the takeoff project: bin/takeoff-deploy -v 11.4.0-ee.0 -w
-
-
Before 12:00 UTC:
-
Notify #production channel about staging deploy. No need to require confirmation. -
On video call, deploy 11.4.0to staging.gitlab.com```sh # In the takeoff project: bin/takeoff-deploy -e gstg -v 11.4.0-ee.0 ``` -
Notify #production channel about canary deploy. No need to require confirmation. -
On video call, deploy 11.4.0to [canary.gitlab.com]```sh # In the takeoff project: bin/takeoff-deploy -e gprd-cny -v 11.4.0-ee.0 ``` -
Confirm that there are no errors on canary -
Get confirmation from a production team member to deploy production. Use !oncall prodif needed to find who's on call. If someone besides the oncall confirms,@mentionthe oncall so they are aware. -
Confirm there are no critical alerts on gitlab.com on the alerting dashboard -
On video call, deploy 11.4.0to GitLab.com```sh # In the takeoff project: bin/takeoff-deploy -e gprd -v 11.4.0-ee.0 ```
-
-
At 14:30 UTC:
-
Publish the packages via ChatOps: # In Slack: /chatops run publish 11.4.0 - Make sure that neither packages nor the blog post get published early without approval by the marketing team
-
-
At 15:00 UTC:
-
Verify that packages appear on packages.gitlab.com: EE / CE -
Verify that Docker images appear on hub.docker.com: EE / CE -
Create the 11.4.0version on version.gitlab.com -
Ensure someone tweets about the 11.4.0release in the#releaseschannel
-