Release 10.6.4
Preparation
-
Create preparation MRs for this version and add the links below: # In the release-tools project: bundle exec rake "patch_merge_request[10.6.4]"
-
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 -
Cherry-pick remaining merge requests labeled ~"Pick into 10.6" -
Check the following list of critical issues/MRs which are to be included in
10.6.4
. Ensure each has made both CE and EE:- []
REFERENCE_TO_MR_TO_PICK
- []
-
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
; CE and Omnibus togithub
-
Check for any problematic migrations in EE, and paste the diff in a snippet:git diff -M v10.6.4-ee..10-6-stable-ee -- db/migrate db/post_migrate ee/db/migrate ee/db/post_migrate
=> -
Tag the 10.6.4
version using therelease
task:# In the release-tools project: bundle exec rake "release[10.6.4]"
-
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!11036 (merged) -
Check progress of EE packages build and CE packages build
Deploy
Deploys to production require confirmation from a production team member before
proceeding. Use !oncall prod
to find who's on call and ping someone. Deploys to
staging or canary can be done at will, just mention it in production channel.
-
Warm up the packages on takeoff by running:# In the takeoff project: bin/takeoff-deploy -v 10.6.4-ee.0 -w
staging.gitlab.com
-
Notify #production channel about staging deploy -
On video call, deploy10.6.4
to staging.gitlab.com# In the takeoff project: bin/takeoff-deploy -e staging -v 10.6.4-ee.0
-
Comment with the output of the migrations from the takeoff script in this issue
QA
-
Announce with an@product-team
mention in the#product
Slack channel:@product-team `10.6.4` has been deployed to staging.
-
Create a "QA Task" issue in the gitlab-org/release/tasks repo -
Wait for the QA Task deadline to pass
canary.gitlab.com
-
Notify #production channel about canary deploy -
On video call, deploy10.6.4
to canary.gitlab.com# In the takeoff project: bin/takeoff-deploy -e canary -v 10.6.4-ee.0
gitlab.com (production)
-
Get confirmation from a production team member to deploy production -
On video call, deploy10.6.4
to GitLab.com# In the takeoff project: bin/takeoff-deploy -e production -v 10.6.4-ee.0
-
Take notes of the time it took for the migrations to complete on the deploy to production:# In the takeoff project bundle exec rake "follow_migrations[production]"
Release
-
Create the 10.6.4
version on version.gitlab.com -
Deploy the blog post -
Post a tweet about the 10.6.4
release in the#releases
channel:!tweet "GitLab 10.6.4 is now available: [BLOG_POST_URL] [DESCRIPTION_OF_CHANGES]"
References
gitlab.com
- https://gitlab.com/gitlab-org/gitlab-ce/commits/10-6-stable
- https://gitlab.com/gitlab-org/gitlab-ee/commits/10-6-stable-ee
- https://gitlab.com/gitlab-org/omnibus-gitlab/commits/10-6-stable
- https://gitlab.com/gitlab-org/omnibus-gitlab/commits/10-6-stable-ee