Release 12.8
First steps
-
Create a new slack channel #f_release_12_8 -
Set the channel topic to Issue: <link_to_this_issue> -
Invite all current release managers -
Inside the old release slack channel, notify about #f_release_12_8Hello :wave: We are starting 12.8 into #f_release_12_8 Please join #f_release_12_8 if interested
Monitor
- Monitor QA issues for each deploy to
gstg - Ensure any deploys that do not make it to canary are investigated
- Try to push any successful deploy to canary into production after some time has passed, preferably after all QA tasks are accounted and checked
- Monitor for any blockers to production and determine if canary should be disabled
17th
-
Find the latest shathat made it into production successfully:f083bd5ed6e -
Notify Engineering Managers that this is the shathat is guaranteed to be released on the 22nd, in#releases::mega: This is the latest commit running on GitLab.com and this is guaranteed to be released on the 22nd. https://gitlab.com/gitlab-org/gitlab/commits/f083bd5ed6e Another auto-deploy branch for the release will be created on the 18th (pending weekend). The inclusion of the auto-deploy branch created on the 18th in the release is subject to the usual caveats (CI green, successfully made it to GitLab.com by 20th) -
Link the above message to additional channels: #development,#backend, and#frontend
18th
-
Yorick's EOD: Proceed to cut a new auto-deploy branch -
Execute the Auto-deploy branch creationhere: https://gitlab.com/gitlab-org/release-tools/pipeline_schedules
-
-
Ensure this build makes it through into production -
Grab the shafrom this new auto-deploy branch and notify Engineering Managers that this is the candidateshafor the release, in#releases::mega: This is the _candidate_ commit to be released on the 22nd. https://gitlab.com/gitlab-org/gitlab/commits/4033cb0ed66de77a4b5c1936e33de918edef558e -
Link the above message to additional channels: #development,#backend, and#frontend -
From release-tools, deactivateauto_deploy:preparepipeline
20th
-
Determine what the last green auto deploy branch is and add it here: 12-9-auto-deploy-20200218 -
Create the stable branches using chatops by running the following in Slack: /chatops run release stable_branch 12.8.0 -
Pick gitlab-org/gitlab!25596 (merged) into the auto-deploy and EE stable branch -
Verify that the CE stable branch contains the right commits - There should be at least two commits: the last commit from the previous stable branch (usually a version update), and the sync commit created by the merge train.
- The sync commit will have the message "Add latest changes from gitlab-org/gitlab@12-8-stable-ee"
-
Create a RC version to ensure that the final version builds correctly # In Slack: /chatops run release tag 12.8.0-rc42
21st
No new code can be added to the release that was not included in the final RC.
- 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 -
Ensure master and stable branches are synced
-
-
Tag 12.8.0:# In Slack: /chatops run release tag 12.8.0 -
Check progress of EE packages build and CE packages build -
[-] EOD Europe timezone: Post an update about the package building status in
#f_release_12_8 -
[-] If
12.8.0has not been deployed to the preprod environment already, deploy it manually with the following ChatOps command:sh # In Slack: /chatops run deploy 12.8.0-ee.0 --pre -
EOD America timezone: Post an update about the package building status in #f_release_12_8
22nd: release day
- At 13:30 UTC:
-
⚠ Make sure that neither packages nor the blog post get published earlier than 13:30UTC without approval by the messaging lead of the release post. Mind that you don't need their approval if you're on time⚠ -
Publish the packages via ChatOps: # In Slack: /chatops run publish 12.8.0 - If anything goes wrong and the release is delayed, ping the release post manager on Slack to make them aware of the issue. Cross-post the slack message to the #marketing channel to notify them too
-
- At 14:10 UTC:
-
Verify that packages appear on packages.gitlab.com: EE / CE -
Verify that Docker images appear on hub.docker.com: EE / CE -
Create the 12.8.0version on version.gitlab.com -
Post an update about the status in #f_release_12_8 -
Once all packages are available publicly and GitLab.com is up and running on the release version, ping the release post manager on Slack (#release-post channel) to give them a go to merge the release post at ~14:20 UTC, so that it will be live at 15:00 UTC
-