Skip to content

Add step to review stable branch on patch releases

What does this MR do?

Add a step to review stable branch on patch releases.

On the security release, we have a command to ensure we have green tests on CE and EE. This commit adds a manual step on the patch release as an initial step.

Example

Open up for a surprise 🎈

Release 13.8.1

Preparation

  • Preparation MR's should already be created
  • Ensure 13-8-stable-ee stable branch is green.
  • Ensure any backports targeting 13.8.1 are merged to their stable counter part
  • Perform automated merging into the preparation branches:
    # In Slack
    /chatops run release merge 13.8.1
  • Check for any MR's that might have been created that are targeting our preparation branch
  • Merge the preparation merge requests
    • gitlab-org/gitlab
    • gitlab-org/omnibus-gitlab
  • Check the following list of critical issues/MRs which are to be included in 13.8.1.
    • REFERENCE_TO_MR_TO_PICK
  • Ensure builds are green on Omnibus

Packaging

  • Check if mirroring synced stable branches to dev. If the output is for every repo, we can proceed to tag. Note. If GitLab Canonical to Security mirroring has diverged due to security merges this mirror is expected to show as a broken and can be safely ignored.

    # In Slack
    /chatops run mirror status
  • Tag 13.8.1:

    # In Slack:
    /chatops run release tag 13.8.1
  • While waiting for packages to build, now is a good time to prepare the blog post. Look at previous MRs for examples. => BLOG_POST_MR

  • 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

For patch releases, the only available environment for deploys is release.gitlab.net. All GitLab Inc. team members can login to that installation using their email address (through google oauth).

release.gitlab.net

Deployments to release.gitlab.net are performed automatically.

Instructions to manually deploy if required.

If you need to manually run a deployment, you can do so as follows:

# In Slack:
/chatops run deploy 13.8.1-ee.0 --release

QA

If the patch release is deployed to release.gitlab.com, create a QA task issue by running the following chatops command:

# In Slack, replacing LAST_DEPLOYED_VERSION with the appropriate value:
/chatops run release qa v13.8.0 v13.8.1

This is not needed for backports that are not deployed to GitLab.com.

Release

  • Publish the packages via ChatOps:
    # In Slack:
    /chatops run publish 13.8.1
  • Verify that EE packages appear on packages.gitlab.com: EE (should contain 15 packages)
  • Verify that CE packages appear on packages.gitlab.com: CE (should contain 13 packages)
Package Names (expanded)
Edition Package Name Distro
EE gitlab-ee-13.8.1-ee.0.sles12.x86_64.rpm sles/12.5
EE gitlab-ee-13.8.1-ee.0.sles12.x86_64.rpm sles/12.2
EE gitlab-ee-13.8.1-ee.0.sles15.x86_64.rpm opensuse/15.1
EE gitlab-ee-13.8.1-ee.0.sles15.aarch64.rpm opensuse/15.1
EE gitlab-ee-13.8.1-ee.0.el8.x86_64.rpm el/8
EE gitlab-ee-13.8.1-ee.0.el7.x86_64.rpm scientific/7
EE gitlab-ee-13.8.1-ee.0.el8.aarch64.rpm el/8
EE gitlab-ee-13.8.1-ee.0.el7.x86_64.rpm ol/7
EE gitlab-ee-13.8.1-ee.0.el7.x86_64.rpm el/7
EE gitlab-ee_13.8.1-ee.0_amd64.deb ubuntu/xenial
EE gitlab-ee_13.8.1-ee.0_amd64.deb ubuntu/bionic
EE gitlab-ee_13.8.1-ee.0_amd64.deb ubuntu/focal
EE gitlab-ee_13.8.1-ee.0_amd64.deb debian/stretch
EE gitlab-ee_13.8.1-ee.0_amd64.deb debian/buster
EE gitlab-ee_13.8.1-ee.0_arm64.deb ubuntu/focal
 CE gitlab-ce-13.8.1-ce.0.sles15.x86_64.rpm opensuse/15.1
 CE gitlab-ce-13.8.1-ce.0.sles15.aarch64.rpm opensuse/15.1
 CE gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm scientific/7
 CE gitlab-ce-13.8.1-ce.0.el8.x86_64.rpm el/8
 CE gitlab-ce-13.8.1-ce.0.el8.aarch64.rpm el/8
 CE gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm ol/7
 CE gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm el/7
 CE gitlab-ce_13.8.1-ce.0_amd64.deb ubuntu/focal
 CE gitlab-ce_13.8.1-ce.0_arm64.deb ubuntu/focal
 CE gitlab-ce_13.8.1-ce.0_amd64.deb ubuntu/bionic
 CE gitlab-ce_13.8.1-ce.0_amd64.deb debian/stretch
 CE gitlab-ce_13.8.1-ce.0_amd64.deb ubuntu/xenial
 CE gitlab-ce_13.8.1-ce.0_amd64.deb debian/buster
  • Verify that Docker images appear on hub.docker.com: EE / CE
  • Create the 13.8.1 version on version.gitlab.com
  • Deploy the blog post
  • In the #content-updates channel, share a link to the blog post URL.

References

gitlab.com

dev.gitlab.org

/milestone %13.8 /due in 7 days

~/code/release-tools add-step-to-review-stable-branch-on-patch-release* ❯ TEST=true rake release:issue 2021-01-25 16:31:48.276220 W [dry-run] ReleaseTools::Feature -- unleash_client is disabled! Always returning false for feature switch_to_main_branch! 2021-01-25 16:31:48.345524 W [dry-run] ReleaseTools::Feature -- unleash_client is disabled! Always returning false for feature switch_to_main_branch!

Release 13.8.1

Preparation

  • Preparation MR's should already be created
  • Ensure 13-8-stable-ee GitLab branch is green.
  • Ensure any backports targeting 13.8.1 are merged to their stable counter part
  • Perform automated merging into the preparation branches:
    # In Slack
    /chatops run release merge 13.8.1
  • Check for any MR's that might have been created that are targeting our preparation branch
  • Merge the preparation merge requests
    • gitlab-org/gitlab
    • gitlab-org/omnibus-gitlab
  • Check the following list of critical issues/MRs which are to be included in 13.8.1.
    • REFERENCE_TO_MR_TO_PICK
  • Ensure builds are green on Omnibus

Packaging

  • Check if mirroring synced stable branches to dev. If the output is for every repo, we can proceed to tag. Note. If GitLab Canonical to Security mirroring has diverged due to security merges this mirror is expected to show as a broken and can be safely ignored.

    # In Slack
    /chatops run mirror status
  • Tag 13.8.1:

    # In Slack:
    /chatops run release tag 13.8.1
  • While waiting for packages to build, now is a good time to prepare the blog post. Look at previous MRs for examples. => BLOG_POST_MR

  • 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

For patch releases, the only available environment for deploys is release.gitlab.net. All GitLab Inc. team members can login to that installation using their email address (through google oauth).

release.gitlab.net

Deployments to release.gitlab.net are performed automatically.

Instructions to manually deploy if required.

If you need to manually run a deployment, you can do so as follows:

# In Slack:
/chatops run deploy 13.8.1-ee.0 --release

QA

If the patch release is deployed to release.gitlab.com, create a QA task issue by running the following chatops command:

# In Slack, replacing LAST_DEPLOYED_VERSION with the appropriate value:
/chatops run release qa v13.8.0 v13.8.1

This is not needed for backports that are not deployed to GitLab.com.

Release

  • Publish the packages via ChatOps:
    # In Slack:
    /chatops run publish 13.8.1
  • Verify that EE packages appear on packages.gitlab.com: EE (should contain 15 packages)
  • Verify that CE packages appear on packages.gitlab.com: CE (should contain 13 packages)
Package Names (expanded)
Edition Package Name Distro
EE gitlab-ee-13.8.1-ee.0.sles12.x86_64.rpm sles/12.5
EE gitlab-ee-13.8.1-ee.0.sles12.x86_64.rpm sles/12.2
EE gitlab-ee-13.8.1-ee.0.sles15.x86_64.rpm opensuse/15.1
EE gitlab-ee-13.8.1-ee.0.sles15.aarch64.rpm opensuse/15.1
EE gitlab-ee-13.8.1-ee.0.el8.x86_64.rpm el/8
EE gitlab-ee-13.8.1-ee.0.el7.x86_64.rpm scientific/7
EE gitlab-ee-13.8.1-ee.0.el8.aarch64.rpm el/8
EE gitlab-ee-13.8.1-ee.0.el7.x86_64.rpm ol/7
EE gitlab-ee-13.8.1-ee.0.el7.x86_64.rpm el/7
EE gitlab-ee_13.8.1-ee.0_amd64.deb ubuntu/xenial
EE gitlab-ee_13.8.1-ee.0_amd64.deb ubuntu/bionic
EE gitlab-ee_13.8.1-ee.0_amd64.deb ubuntu/focal
EE gitlab-ee_13.8.1-ee.0_amd64.deb debian/stretch
EE gitlab-ee_13.8.1-ee.0_amd64.deb debian/buster
EE gitlab-ee_13.8.1-ee.0_arm64.deb ubuntu/focal
 CE gitlab-ce-13.8.1-ce.0.sles15.x86_64.rpm opensuse/15.1
 CE gitlab-ce-13.8.1-ce.0.sles15.aarch64.rpm opensuse/15.1
 CE gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm scientific/7
 CE gitlab-ce-13.8.1-ce.0.el8.x86_64.rpm el/8
 CE gitlab-ce-13.8.1-ce.0.el8.aarch64.rpm el/8
 CE gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm ol/7
 CE gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm el/7
 CE gitlab-ce_13.8.1-ce.0_amd64.deb ubuntu/focal
 CE gitlab-ce_13.8.1-ce.0_arm64.deb ubuntu/focal
 CE gitlab-ce_13.8.1-ce.0_amd64.deb ubuntu/bionic
 CE gitlab-ce_13.8.1-ce.0_amd64.deb debian/stretch
 CE gitlab-ce_13.8.1-ce.0_amd64.deb ubuntu/xenial
 CE gitlab-ce_13.8.1-ce.0_amd64.deb debian/buster
  • Verify that Docker images appear on hub.docker.com: EE / CE
  • Create the 13.8.1 version on version.gitlab.com
  • Deploy the blog post
  • In the #content-updates channel, share a link to the blog post URL.

References

gitlab.com

dev.gitlab.org

Edited by Mayra Cabrera

Merge request reports

Loading