Release 10.6
Current Status
- Canary/Production: 10.6
- Staging: 10.6
- Prepping: None
General Process for Release Managers
This issue serves as one place to find all information needed for the release on the 22nd. This issue should be used to link related issues associated with the release such as individual Release Candidate issues and exception requests.
Tasks
-
Create the ~"Pick into 10.6" group label if it doesn't exist: https://gitlab.com/groups/gitlab-org/labels/new -
Create a new issue for the preparation of each release candidate -
Create a new issue to deal with Release day tasks (22nd of the month)
Individual Release Candidate preparation issues
Issues relating to the preparation of a Release Candidate should be created separately and linked in this issue.
RC1 #114 (closed)
RC2 #119 (closed)
RC3 #122 (closed)
RC4 #117 (closed)
RC5 #127 (closed)
RC6 (security) https://gitlab.com/gitlab-org/gitlab-ce/issues/44357
RC7 https://gitlab.com/gitlab-org/release/tasks/issues/129
Exception requests
Exception requests relate to proposals for changes to the normal release process.
Exception requests should be created by using the exception request issue template and linked here for posterity.
22nd: release day
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.
-
At 08:00 UTC, final release is ready for tagging (Including changes at this stage requires signoff from VP of Eng.):
-
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: CE, EE, and Omnibus to dev
, CE and Omnibus togithub
-
Sync master branches to dev
andgithub
, 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
andgithub
(when applicable. Builds should fail if this is needed.) -
If at this time final release is not ready for tagging, notify the CTO
-
-
Before 10:00 UTC:
-
Tag the 10.6.0
version using therelease
task:```sh # In the release-tools project: bundle exec rake "release[10.6.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 10.6.0.ee.0 -w
-
-
Before 12:00 UTC:
-
Get confirmation from a production team member to deploy staging. Use !oncall prod
if needed to find who's on call. -
On video call, deploy release 10.6.0
to staging.gitlab.com```sh # In the takeoff project: bin/takeoff-deploy -e staging -v 10.6.0-ee.0 ```
-
Announce on the #releases
Slack channels:10.6.0
has been deployed to staging. Blog post draft: MERGE_REQUEST_URL -
Wait for confirmation from @bjgopinath
that testing succeeded on staging and the release can proceed -
Get confirmation from a production team member. Use !oncall prod
if needed to find who's on call. -
On video call, deploy release 10.6.0
to canary.gitlab.com```sh # In the takeoff project: bin/takeoff-deploy -e canary -v 10.6.0-ee.0 ```
-
Announce on the #releases
Slack channels:10.6.0
has been deployed to canary. Blog post draft: MERGE_REQUEST_URL -
Wait for confirmation from @bjgopinath
that testing succeeded on canary and the release can proceed -
Get confirmation from a production team member to deploy production. Use !oncall prod
if needed to find who's on call. -
Publicly announce the deployment on Twitter and with the GitLab.com deploy alert banner in the #production
channel!broadcast --start X:Y --end A:B "We are currently deploying GitLab EE 10.6.0. For status updates, please follow https://twitter.com/GitLabStatus"
* With downtime: 1 hour before!tweet "We will be deploying GitLab EE 10.6.0 starting at X:Y UTC, 15 mins of downtime expected"
* Without downtime: 15 minutes before!tweet "We are about to deploy GitLab EE 10.6.0 starting at X:Y UTC"
-
On video call, deploy release 10.6.0
to GitLab.com```sh # In the takeoff project: bin/takeoff-deploy -e production -v 10.6.0-ee.0 ```
-
Tweet in the #production
channel that the deployment has finished:!tweet "GitLab EE 10.6.0 has been deployed."
-
Create the first patch issue using the [ patch_issue
task]:```sh # In the release-tools project: bundle exec rake "patch_issue[10.6.1]" ```
-
If at this point final release is not ready for public, notify the CEO
-
-
At 15:00 UTC:
- Make sure that neither packages nor blog post get published before that time without approval by the marketing team.
-
From the build pipeline, manually publish public packages -
Verify that packages appear on packages.gitlab.com
: EE / CE -
Verify that Docker images appear on hub.docker.com
: EE / CE -
Create the 10.6.0
version on https://version.gitlab.com -
Ensure someone tweets about the 10.6.0
release in the#releases
channel