Release 13.6
First steps
-
Change #f_upcoming_release
topic with/topic 13.6.0: <link_to_this_issue>
-
Modify the dates below to accurately reflect the plan of action
Up until the 17th
- Ensure any deploys that do not make it to canary are investigated. Disable canary if necessary.
- Push any successful deploy to canary into production after some time has passed (preferably 1h).
17th
If this date is on a weekend, do this work on the next working day
-
Find the latest sha
that made it into production successfully: https://gitlab.com/gitlab-org/gitlab/commits/e7650bc4442 -
Notify Engineering Managers that this is the sha
that is guaranteed to be released on the 22nd, in#releases
::mega: This is the most recent commit running on GitLab.com and this is guaranteed to be released on the 22nd. https://gitlab.com/gitlab-org/security/gitlab/commits/e7650bc4442 Please see the following documentation on what this means: * `https://about.gitlab.com/handbook/engineering/releases/#how-can-i-determine-if-my-merge-request-will-make-it-into-the-monthly-release` * `https://about.gitlab.com/handbook/engineering/releases/#when-do-i-need-to-have-my-mr-merged-in-order-for-it-to-be-included-into-the-monthly-release`
-
Link the above message to additional channels: #development
,#backend
, and#frontend
18th
If this date is on a weekend, do this work on the last Friday before the 18th.
-
Log latest auto-deploy branch: 13-6-auto-deploy-2020111804 -
Ensure this build makes it through into production -
Grab the sha
from this new auto-deploy branch and notify Engineering Managers that this is the candidatesha
for the release, in#releases
::mega: This is the _candidate_ commit to be released on the 22nd. https://gitlab.com/gitlab-org/security/gitlab/commits/5e35d9a5344 Please see the following documentation on what this means: * `https://about.gitlab.com/handbook/engineering/releases/#how-can-i-determine-if-my-merge-request-will-make-it-into-the-monthly-release` * `https://about.gitlab.com/handbook/engineering/releases/#when-do-i-need-to-have-my-mr-merged-in-order-for-it-to-be-included-into-the-monthly-release`
-
Link the above message to additional channels: #development
,#backend
, and#frontend
20th: two working days before the release
19thIf this date is on the weekend, do this work on the last Friday before the 20th.
-
Determine what the last green auto deploy branch is and add it here: 13-6-auto-deploy-2020111804
-
Create the stable branches using chatops by running the following in Slack: /chatops run release stable_branch 13.6.0 13-6-auto-deploy-2020111804
-
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@13-6-stable-ee"
-
Create a RC version to ensure that the final version builds correctly # In Slack: /chatops run release tag 13.6.0-rc42
-
Notify Engineering Managers that final candidate has been created in #releases
::mega: Barring any show-stopping issues, this is the final commit to be released on the 22nd. https://gitlab.com/gitlab-org/security/gitlab/-/commits/13-6-stable-ee
-
Link the above message to additional channels: #development
,#backend
, and#frontend
21st: one day before the release
20th-
Confirm that final RC version has passed automated tests -
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: /chatops run mirror status
-
-
Tag 13.6.0
:# In Slack: /chatops run release tag 13.6.0
-
Check progress of EE packages build and CE packages build
-
-
Validate 13.6.0
has been deployed to the release environment
Instructions for manual deploy
```sh
# In Slack:
/chatops run deploy 13.6.0-ee.0 --release
```
-
Validate 13.6.0
has been passed automated QA
Past this point, no new code can be added to the release that was not included in the final RC.
22nd: release day
Final release is tagged, so any changes will have to initiate a patch release.
-
At 13:00 UTC, post an update about the package building status in #f_upcoming_release
:megaphone: Packages for 13.6.0 are built and will be published at 13:30UTC
- 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 13.6.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 EE packages appear on packages.gitlab.com
: EE (should contain 14 packages) -
Verify that CE packages appear on packages.gitlab.com
: CE (should contain 13 packages) -
Verify that Docker images appear on hub.docker.com
: EE / CE -
Create the 13.6.0
version on version.gitlab.com -
Post an update about the status in #f_upcoming_release
:megaphone: 0 is published and publicly available
-
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
-