Release 11.1
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 manager and trainees -
Create a new slack channel #f_release_11_1 -
set the topic to RMs: https://about.gitlab.com/release-managers -
invite all current and previous 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! -
Create the ~"Pick into 11.1" group label if it doesn't exist: https://gitlab.com/groups/gitlab-org/labels/new - Title:
Pick into 11.1 - Description:
Merge requests to cherry-pick into the `11-1-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-1-stablefrom CEmastermanually -
Create branch 11-1-stable-eefrom EEmastermanually -
In Omnibus create both 11-1-stableand11-1-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 -
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.1" -
Create a task list for RC1: # In the release-tools project: bundle exec rake "patch_issue[11.1.0-rc1]" -
Link the RC1 issue as a related issue in this issue
-
Subsequent RCs
-
Update the blog post upgrade barometersection with the migration types for this release, including the time they took to complete. -
Create additional release candidates as needed:
# In the release-tools project (update RC number): bundle exec rake "patch_issue[11.1.0-rc2]" -
Link any subsequent RCs issues as a related issue in this issue
Keep in mind that:
- After the feature freeze only regression and security fixes should be cherry-picked into stable branches.
- The final RC should point to the same commit as the final release.
On the 7th
-
In #development:@channel `11-1-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-1-stable`. Please ensure that merge requests have the correct milestone (`11.1` for this release) and the `Pick into 11.1` 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 the release-tools project (update RC number): bundle exec rake "patch_issue[11.1.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 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.1.0version using thetagcommand:```sh # In Slack /chatops run tag 11.1.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.1.0-ee.0 -w
-
-
Before 12:00 UTC:
-
Notify #production channel about staging deploy. No need to require confirmation. -
On video call, deploy 11.1.0to staging.gitlab.com```sh # In the takeoff project: bin/takeoff-deploy -e staging -v 11.1.0-ee.0 ``` -
Notify #production channel about canary deploy. No need to require confirmation. -
On video call, deploy 11.1.0to canary.gitlab.com```sh # In the takeoff project: bin/takeoff-deploy -e canary -v 11.1.0-ee.0 ``` -
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. -
On video call, deploy 11.1.0to GitLab.com```sh # In the takeoff project: bin/takeoff-deploy -e production -v 11.1.0-ee.0 ```
-
-
At 14:30 UTC:
-
Publish the packages via ChatOps: /chatops run publish 11.1.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.1.0version on version.gitlab.com -
Ensure someone tweets about the 11.1.0release in the#releaseschannel
-