Skip to content

Release 11.4.0-rc1

Preparation

Packaging

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

  • Check for any problematic migrations in EE, and paste the diff in a snippet: git diff -M --diff-filter=RA v<PREVIOUS_TAG>-ee..11-4-stable-ee -- db/migrate db/post_migrate ee/db/migrate ee/db/post_migrate =>

  • Tag the 11.4.0-rc1 version using the release command:

    # In Slack:
    /chatops run tag 11.4.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 !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 on takeoff by running:

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

staging.gitlab.com

  • Notify #production that you're about to deploy on staging

  • On video call, deploy 11.4.0-rc1 to staging.gitlab.com

    # In the takeoff project:
    bin/takeoff-deploy -e gstg -v 11.4.0-rc1.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.4.0-rc1
  • Wait for the QA Task deadline to pass

canary VMs on gitlab.com

  • Notify #production that you're about to deploy on canary

  • On video call, deploy 11.4.0-rc1 to the canary VMs on gitlab.com

    # In the takeoff project:
    bin/takeoff-deploy -e gprd-cny -v 11.4.0-rc1.ee.0
  • Confirm that there are no errors on canary

gitlab.com (production)

  • 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

  • On video call, deploy 11.4.0-rc1 to GitLab.com

    # In the takeoff project:
    bin/takeoff-deploy -e gprd -v 11.4.0-rc1.ee.0

Release

  • Publish the packages via ChatOps:

    # In Slack:
    /chatops run publish 11.4.0-rc1
  • Verify that packages appear on packages.gitlab.com

  • Verify that Docker images appear on hub.docker.com: EE / CE

  • Post a tweet about the 11.4.0-rc1 release in the #releases channel:

    !tweet "GitLab 11.4.0-rc1 is available: https://packages.gitlab.com/gitlab/unstable
    This is a release candidate, we'll release 11.4 on the 22nd of this month."
Edited by Thiago Presa