Release 11.10.0-rc2
Preparation
-
If we are NOT in Feature Freeze, one can ignore creating Preparation MRs
-
Create Preparation MRs for this version:
# In Slack /chatops run release prepare 11.10.0-rc2
-
Perform automated merging into the preparation branches:
# In Slack /chatops run release merge 11.10.0-rc2
-
-
Ensure the CE preparation MR has been fully merged into the EE counterpart
-
Merge the preparation branches
-
For
omnibus-gitlab
cherry-pick remaining merge requests directly into CE stable branch. Then, merge the CE Omnibus stable branch into EE. -
Check the following list of critical issues/MRs which are to be included in
11.10.0-rc2
. Ensure each has made both CE and EE:- REFERENCE_TO_MR_TO_PICK
-
Ensure the stable branches are green Once the stable branch tests pass we can proceed with tagging
- gitlab-ce https://gitlab.com/gitlab-org/gitlab-ce/commits/11-10-stable
- gitlab-ee https://gitlab.com/gitlab-org/gitlab-ee/commits/11-10-stable-ee
- omnibus-gitlab
- Ensure builds are green on Omnibus CE stable branch and Omnibus EE stable branch
Packaging
-
Sync stable branches to
dev
-
Tag
11.10.0-rc2
:# In Slack: /chatops run release tag 11.10.0-rc2
-
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
-
Create a "QA Task" issue using the ChatOps command:
# In Slack, replacing LAST_DEPLOYED_VERSION with the appropriate value: /chatops run release qa vLAST_DEPLOYED_VERSION v11.10.0-rc2
gitlab.com canary stage
-
Notify #production that you're about to deploy on canary
-
Deploy
11.10.0-rc2
to the canary VMs on gitlab.com# In Slack: /chatops run deploy 11.10.0-rc2.ee.0 --production --canary
-
Link to deployment job (even failed attempts) =>
-
Ensure that the
:allow_unsafe_ruby_regexp
feature flag is enabled -
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
11.10.0-rc2
to GitLab.com# In Slack: /chatops run deploy 11.10.0-rc2.ee.0 --production
-
Link to deployment job (even failed attempts) =>
Release
-
Publish the packages via ChatOps:
# In Slack: /chatops run publish 11.10.0-rc2
-
Verify that packages appear on
packages.gitlab.com
-
Post a tweet about the
11.10.0-rc2
release in the#releases
channel:!tweet "GitLab 11.10.0-rc2 is available: https://packages.gitlab.com/gitlab/unstable This is a release candidate, we'll release 11.10 on the 22nd of this month."