Release 10.7.1

Preparation

Packaging

  • Sync stable branches for CE, EE, and Omnibus to dev; CE and Omnibus to github

  • Check for any problematic migrations in EE, and paste the diff in a snippet: git diff -M v10.7.1-ee..10-7-stable-ee -- db/migrate db/post_migrate ee/db/migrate ee/db/post_migrate =>

  • Tag the 10.7.1 version using the release task:

    # In the release-tools project:
    bundle exec rake "release[10.7.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!11290 (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

  • Warm up the packages on takeoff by running:

    # In the takeoff project:
    bin/takeoff-deploy -v 10.7.1-ee.0 -w

staging.gitlab.com

  • Inform the oncall in the #production channel about staging deploy

  • On video call, deploy 10.7.1 to staging.gitlab.com

    # In the takeoff project:
    bin/takeoff-deploy -e staging -v 10.7.1-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.7.1` has been deployed to staging.
  • Create a "QA Task" issue in the gitlab-org/release/tasks repo, using the QA-task template.
  • Notify #development and #releases about the QA issue with the following message: 10.7.1 has been deployed to staging, you can do QA and report any problems to the QA issue <link to the QA issue>
  • Wait for the QA Task deadline to pass: #180 (closed)

canary.gitlab.com

  • Inform the oncall in the #production channel about canary deploy

  • On video call, deploy 10.7.1 to canary.gitlab.com

    # In the takeoff project:
    bin/takeoff-deploy -e canary -v 10.7.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 10.7.1 to GitLab.com

    # In the takeoff project:
    bin/takeoff-deploy -e production -v 10.7.1-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

References

gitlab.com

dev.gitlab.org

Edited by James Lopez