Release 11.0

First working day after 7th

Stable branch should be created after the 7th. The 7th is the last date to reliably get things in.

RC1

Subsequent RCs

  • Update the blog post upgrade barometer section with the migration types for this release, including the time they took to complete.

  • Create additional release candidates as needed:

    # In the release-tools project (update RC number):
    bundle exec rake "patch_issue[11.0.0-rc2]"

Keep in mind that:

  1. After the feature freeze only regression and security fixes should be cherry-picked into stable branches.
  2. The final RC should point to the same commit as the final release.

Final RC

The final RC should be created on the 21st of the month.

Before 13:00 UTC

Including changes at this stage requires signoff from the VP of Engineering.

  • Create a task list for the final RC:

    # In the release-tools project (update RC number):
    bundle exec rake "patch_issue[11.0.0-rc22]"

At 15:00 UTC

If the final RC isn't tagged and deployed by this time, notify the Distribution Lead.

At 20:00 UTC

If the final RC still isn't tagged and deployed by this time, notify the VP of Engineering.

21st

  • At 08:00 UTC, final release is ready for tagging (Including changes at this stage requires signoff from the VP of Engineering):

  • Before 10:00 UTC:

    • Tag the 11.0.0 version using the release task:

      ```sh
      # In the release-tools project:
      bundle exec rake "release[11.0.0]"
      ```
    • Check progress of EE packages build and CE packages build

    • Warm up the packages on takeoff by running: sh # In the takeoff project: bin/takeoff-deploy -v 11.0.0-ee.0 -w

  • Before 12:00 UTC:

    • Notify #production channel about staging deploy. No need to require confirmation.

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

      ```sh
      # In the takeoff project:
      bin/takeoff-deploy -e staging -v 11.0.0-ee.0
      ```
    • Notify #production channel about canary deploy. No need to require confirmation.

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

      ```sh
      # In the takeoff project:
      bin/takeoff-deploy -e canary -v 11.0.0-ee.0
      ```
    • Get confirmation from a production team member to deploy production. Use !oncall prod if needed to find who's on call. If someone besides the oncall confirms, @mention the oncall so they are aware.

    • On video call, deploy 11.0.0 to GitLab.com

      ```sh
      # In the takeoff project:
      bin/takeoff-deploy -e production -v 11.0.0-ee.0
      ```

No new code can added to the release that was not included in the final RC.

22nd: release day

  • At 14:10 UTC:
  • At 15:00 UTC:
    • Verify that packages appear on packages.gitlab.com: EE / CE
    • Verify that Docker images appear on hub.docker.com: EE / CE
    • Create the 11.0.0 version on version.gitlab.com
    • Ensure someone tweets about the 11.0.0 release in the #releases channel

Exceptions requests

Approved

  1. #263 (closed) - approved
  2. #267 (closed) - approved
  3. #270 (closed) - approved
  4. #272 (closed) - approved
  5. #274 (closed) - approved
  6. #278 (closed) - approved
  7. #287 (closed) - approved
  8. #288 (closed) - approved
  9. #289 (closed) - approved

Not approved

  1. #275 (closed) - not approved
  2. #261 (closed) - not approved
  3. #293 (closed) - not approved

Pending

  1. #290 (closed)
Edited by Mayra Cabrera