Release 11.2.1
Preparation
-
Create preparation MRs for this version and add the links below: # In the release-tools project: bundle exec rake "patch_merge_request[11.2.1]"
-
Cherry-pick changes into preparation MRs following their instructions -
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.2.1
. Ensure each has made both CE and EE: -
Ensure builds are green on Omnibus CE stable branch and Omnibus EE stable branch
Packaging
-
Sync stable branches for CE, EE, and Omnibus to dev
-
Check for any problematic migrations in EE, and paste the diff in a comment: git diff -M v<PREVIOUS_TAG>-ee..11-2-stable-ee -- db/migrate db/post_migrate ee/db/migrate ee/db/post_migrate
-
Tag the 11.2.1
version using therelease
command:# In Slack: /chatops run tag 11.2.1
-
While waiting for packages to build, now is a good time to prepare the blog post. Look at previous MRs for examples. => gitlab-com/www-gitlab-com!13870 (merged) -
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 !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.
-
Warm up the packages in the /takeoff by running: # In the takeoff project: bin/takeoff-deploy -v 11.2.1-ee.0 -w
staging.gitlab.com
-
Inform the oncall in the #production channel about staging deploy -
On video call, deploy 11.2.1
to staging.gitlab.com# In the takeoff project: bin/takeoff-deploy -e gstg -v 11.2.1-ee.0
-
Comment with the output of the migrations from the takeoff script in this issue
QA
-
Create a "QA Task" issue using the ChatOps command: # In Slack, replacing LAST_DEPLOYED_VERSION with the appropriate value: /chatops run qa_issue vLAST_DEPLOYED_VERSION..v11.2.1
-
Wait for the QA Task deadline to pass
canary.gitlab.com
This can be skipped while there is no canary in GCP
-
Inform the oncall in the #production channel about canary deploy -
On video call, deploy 11.2.1
to canary.gitlab.com# In the takeoff project: bin/takeoff-deploy -e canary -v 11.2.1-ee.0
gitlab.com (production)
-
Get confirmation from a production team member to deploy to production In #production
, use!oncall prod
to find who's on call, and@mention
them asking to deploy to production -
If someone besides the oncall confirms, @mention
the oncall so they are aware. -
On video call, deploy 11.2.1
to GitLab.com# In the takeoff project: bin/takeoff-deploy -e gprd -v 11.2.1-ee.0
Release
-
Publish the packages via ChatOps: # In Slack: /chatops run publish 11.2.1
-
Create the 11.2.1
version on version.gitlab.com -
Deploy the blog post -
Post a tweet about the 11.2.1
release in the#releases
channel:!tweet "GitLab 11.2.1 is now available: [BLOG_POST_URL] [DESCRIPTION_OF_CHANGES]"
References
gitlab.com
- https://gitlab.com/gitlab-org/gitlab-ce/commits/11-2-stable
- https://gitlab.com/gitlab-org/gitlab-ee/commits/11-2-stable-ee
- https://gitlab.com/gitlab-org/omnibus-gitlab/commits/11-2-stable
- https://gitlab.com/gitlab-org/omnibus-gitlab/commits/11-2-stable-ee