Release 12.0.0-rc1
Preparation
-
If we are NOT in Feature Freeze, one can ignore and close the Preparation MRs -
Ensure builds are green on Omnibus CE stable branch and Omnibus EE stable branch
Packaging
-
Sync stable branches to dev
-
Tag 12.0.0-rc1
:# In Slack: /chatops run release tag 12.0.0-rc1
-
Check progress of EE packages build and CE packages build - This might take a while (around 80 min).
- We only need the EE packages to finish to continue with next steps.
Deploy
Deploys to production require confirmation from a production team member
before proceeding. Use /chatops run oncall prod
in the #production
channel to find who's on call and ping someone. Deploys to staging or canary
can be done at will, just mention it in the #production
channel.
staging.gitlab.com
- Staging deploys via the deployer pipeline happen automatically as soon as the
EE packages build
reaches the
gitlab_com:upload_deploy
stage of the pipeline.
QA
The QA task is generated automatically when deploying to staging. If you need to manually generate the QA task, you can do so as follows:
# In Slack, replacing LAST_DEPLOYED_VERSION with the appropriate value:
/chatops run release qa vLAST_DEPLOYED_VERSION v12.0.0-rc1
gitlab.com canary stage
-
Notify #production that you're about to deploy on canary -
Deploy 12.0.0-rc1
to the canary VMs on gitlab.com# In Slack: /chatops run deploy 12.0.0-rc1.ee.0 --production --canary
-
Link to deployment job (even failed attempts) => -
Confirm that there are no errors on canary
If there are issues on canary you should immediately stop sending traffic to it by issuing the following chatops command:
/chatops run canary --drain --production
gitlab.com main stage (production)
-
Wait for the QA Task deadline to pass before deploying to the rest of gitlab.com -
Get confirmation from a production team member to deploy production. If someone besides the oncall confirms, @mention
the oncall so they are aware. -
Confirm there are no critical alerts on gitlab.com on the alerting dashboard -
Deploy 12.0.0-rc1
to GitLab.com# In Slack: /chatops run deploy 12.0.0-rc1.ee.0 --production
-
Link to deployment job (even failed attempts) =>
Release
-
Publish the packages via ChatOps: # In Slack: /chatops run publish 12.0.0-rc1
-
Verify that packages appear on packages.gitlab.com
-
Post a tweet about the 12.0.0-rc1
release in the#releases
channel:!tweet "GitLab 12.0.0-rc1 is available: https://packages.gitlab.com/gitlab/unstable This is a release candidate, we'll release 12.0 on the 22nd of this month."