Skip to content

Release 13.0

First steps

  • Create a new slack channel #f_release_13_0
  • Set the channel topic to Issue: <link_to_this_issue>
  • Invite all current release managers
  • Inside the old release slack channel, notify about #f_release_13_0
    Hello :wave:
    We are starting 13.0 into #f_release_13_0
    Please join #f_release_13_0 if interested

Monitor

  • Monitor QA issues for each deploy to gstg
  • Ensure any deploys that do not make it to canary are investigated
  • Try to push any successful deploy to canary into production after some time has passed, preferably after all QA tasks are accounted and checked
  • Monitor for any blockers to production and determine if canary should be disabled

18th

  • Find the latest sha that made it into production successfully: sha
  • Notify Engineering Managers that this is the sha that is guaranteed to be released on the 22nd, in #releases:
    :mega: This is the latest commit running on GitLab.com and this is guaranteed to be released on the 22nd.
    https://gitlab.com/gitlab-org/gitlab/commits/54bf0a42f07
  • Link the above message to additional channels: #development, #backend, and #frontend

19th

  • Find the latest sha that made it into production successfully: sha
  • Notify Engineering Managers that this is the sha that is guaranteed to be released on the 22nd, in #releases:
    :mega: This is the latest commit running on GitLab.com and this is guaranteed to be released on the 22nd.
    https://gitlab.com/gitlab-org/gitlab/-/commits/a9b434b9cf2
    We will attempt to create one more commit with the latest changes from master on the 20th.
  • Link the above message to additional channels: #development, #backend, and #frontend

20th

  • Determine what the last stable SHA of auto-deploy in production:

  • Create the stable branches using chatops by running the following in Slack (SHA is optional if we want the last deployment): /chatops run release stable_branch 13.0.0 <6dbf7917e82701341e6d9056392d7b4b98673ef9

  • Verify that the CE stable branch contains the right commits

    • There should be at least two commits: the last commit from the previous stable branch (usually a version update), and the sync commit created by the merge train.
    • The sync commit will have the message "Add latest changes from gitlab-org/gitlab@13-0-stable-ee"
  • Create a RC version to ensure that the final version builds correctly

    # In Slack:
    /chatops run release tag 13.0.0-rc42
  • Notify Engineering Managers that final candidate has been created in #releases:

    :mega: Barring any show-stopping issues, this is the final commit to be released on the 22nd.
    https://gitlab.com/gitlab-org/gitlab/-/commits/13-0-stable-ee

21st: one day before the release

  • At 18:00 UTC, confirm that final RC version has passed automated QA tests, and is functional

  • After 18:00 UTC:

    • Tag 13.0.0:
      # In Slack:
      /chatops run release tag 13.0.0
    • Check progress of EE packages build and CE packages build
    • Post an update about the package building status in #f_upcoming_release
  • If 13.0.0 has not been deployed to the preprod environment already, deploy it manually with the following ChatOps command: sh # In Slack: /chatops run deploy 13.0.0-ee.0 --pre

22nd: release day

Final release is tagged, so any changes will have to initiate a patch release.

  • At 13:00 UTC, post an update about the package building status in #f_release_13_0
  • At 13:30 UTC:
    • Make sure that neither packages nor the blog post get published earlier than 13:30UTC without approval by the messaging lead of the release post. Mind that you don't need their approval if you're on time
    • Publish the packages via ChatOps:
      # In Slack:
      /chatops run publish 13.0.0
    • If anything goes wrong and the release is delayed, ping the release post manager on Slack to make them aware of the issue. Cross-post the slack message to the #marketing channel to notify them too
  • At 14:10 UTC:
    • Verify that packages appear on packages.gitlab.com: EE / CE
    • Verify that Docker images appear on hub.docker.com: EE / CE
    • Create the 13.0.0 version on version.gitlab.com
    • Post an update about the status in #f_release_13_0
    • Once all packages are available publicly and GitLab.com is up and running on the release version, ping the release post manager on Slack (#release-post channel) to give them a go to merge the release post at ~14:20 UTC, so that it will be live at 15:00 UTC
  • Open MR to Bump VERSION file to the next version to be released
Edited by John Skarbek