Skip to content

Release Version v3.84.0-gitlab

What's New in this Version

3.84.0 (2023-09-26)

Features

  • cache: use repository cache to complete blob upload (c678843)
  • handlers: expose database usage in v2 headers (121e440)
  • handlers: use accurate layer media types by default (1d7dc96)
  • use JSON format for sorting tags by name in descending order (eb20a87)

️ Build

  • deps: update module github.com/aws/aws-sdk-go to v1.45.11 (c2e742b)
  • deps: update module github.com/aws/aws-sdk-go to v1.45.6 (97ac190)
  • deps: update module github.com/getsentry/sentry-go to v0.24.0 (3f90827)
  • deps: update module github.com/getsentry/sentry-go to v0.24.1 (970f81a)
  • deps: update module github.com/miekg/dns to v1.1.56 (62c3c4e)
  • deps: update module golang.org/x/oauth2 to v0.12.0 (837e746)
  • deps: update module google.golang.org/api to v0.142.0 (2991e99)

Tasks

All tasks must be completed (in order) for the release to be considered workflowproduction.

1. Prepare

  1. Set the milestone of this issue to the target GitLab release.
  2. Set the due date of this issue to the 12th of the release month.
Instructions The due date is set to the 12th of each month to create a buffer of 5 days before the merge deadline on the 17th. See Product Development Timeline for more information about the GitLab release timings.

2. Release

  1. Read the release documentation.
  2. Run the make release-dry-run command.
  3. Review each MR and check if the cannot-rollback or the high-risk-change label has been applied. If any MR contains the label:
    1. Ensure that no code changes that rely on the cannot-rollback MRg are included in this release. These should be separated into two consecutive releases.
  4. Run the make release command.
  5. A new tag should have been created and pushed.

3. Update

Note: Version bumps for CNG, Omnibus and GDK can be triggered at the "same" time. Only the Charts and K8s Workloads bumps need to wait for the CNG one. It's highly recommended to trigger both CNG and Omnibus bumps together so that the Distribution team can see them while reviewing.

  1. Version bump in CNG is automatically done using the internal release-cli. An MR should be found open on the CNG MR page after manually triggering the version-bump:cng job. If opening this MR manually please give it the title "Bump Container Registry to [version]".
  2. Review the CNG Version bump MR and make sure all pipelines associated with the MR ran to completion. After reviewing the MR and its pipeline, set the "~workflow::ready for review" label on the MR and request a maintainer review from @gitlab-org/maintainers/container-registry. For the maintainer review, a maintainer should check the CNG MR to make sure:
    • The description contains the change log for the specific release version.
    • The MR is targeting the master branch.
    • The MR has a green pipeline on GitLab.com.

Once all the above checks have been verified, a maintainer can proceed to merge the MR. If you encounter any issues when merging, request help by following the distribution MR workflow.

  1. Version bump in Omnibus is automatically done using the internal release-cli. An MR should be found open on the Omnibus MR page after manually triggering the version-bump:omnibus job. If opening this MR manually please give it the title "Bump Container Registry to [version]".
  2. Version bump in Charts is automatically done using the internal release-cli. An MR should be found open on the Charts MR page after manually triggering the version-bump:charts job (which requires version-bump:cng to be triggered first). If opening this MR manually please give it the title "Bump Container Registry to [version]".
  3. Version bumps in K8s Workloads are automatically done using the internal release-cli. There should be three separate MRs, listed below, on the K8s Workloads MR page after manually triggering the version-bump:k8s job (which requires version-bump:cng to be triggered first). Each environment needs to be deployed and confirmed working in the order listed below, before merging the next MR. If opening this MR manually please give it the title "Bump Container Registry to [version] ([environment(s)])".
    • Check MRs included in the release for the labels high-risk-change, cannot-rollback.
    • Version bump for Pre-Production and Staging.
    • Version bump for Production Canary.
    • Version bump for Production Main Stage.
  4. Version bump for GDK is automatically done using the internal release-cli. An MR should be found open on the GDK MR page after manually triggering the version-bump:gdk job. If opening this MR manually please give it the title "Bump Container Registry to [version]".
    • Assign to the reviewer suggested by reviewer roulette

Potentially risky deployments

Instructions
  1. Add the following instructions to each deployment MR.

    • Version bump for Pre-Production and Staging.
      • Check the #qa-staging Slack channel for staging end-to-end tests passed!. Make sure the corresponding pipeline started after the registry deployment completed. Otherwise, wait for the next one.
      • Check logs for errors.
      • Check metrics dashboard.
    • Version bump for Production Canary.
    • Version bump for Production Main Stage.
      • Check the #qa-production Slack channel for production end-to-end tests passed!. Make sure the corresponding pipeline started after the registry deployment completed. Otherwise, wait for the next one.
      • Check logs for errors.
      • Check metrics dashboard.
  2. Let the assignee SRE know about these changes.

Release instructions

Instructions

Bump the Container Registry version used in CNG, Omnibus, Charts and K8s Workloads by manually triggering these on the release job.

The CNG image is the pre-requisite for the remaining version bumps which may be merged independently from each other. Only CNG and K8s Workloads version bumps are required for a GitLab.com deployment. The deployment is then completed as documented here. Charts and Omnibus version bumps are required for self-managed releases.

Please mark parent tasks as completed once the corresponding merge requests are merged.

Version bump merge requests should appear automatically in the Related merge requests section of this issue.

Note: According to the Distribution Team Merge Request Handling documentation, we should not assign merge requests to an individual.

Merge Request Template

For consistency when updating manually, please use the following template for these merge requests:

Branch Name

bump-container-registry-vX-Y-Z-gitlab

Commit Message
Bump Container Registry to vX.Y.Z-gitlab

Changelog: changed
Title

Bump Container Registry to vX.Y.Z-gitlab

Description

Repeat the version subsection for multiple versions. As an example, to bump to v2.7.7 in a project where the current version is v2.7.5, create an entry for v2.7.6 and v2.7.7.

## vX.Y.Z-gitlab

[Changelog](https://gitlab.com/gitlab-org/container-registry/blob/release/X.Y-gitlab/CHANGELOG.md#vXYZ-gitlab-YYYY-MM-DD)

Related to <!-- link to this release issue -->.

4. Complete

  1. Assign label workflowverification once all changes have been merged.
  2. Assign label workflowproduction once all changes have been deployed.
  3. Update all related issues, informing that the deploy is complete.
  4. Close this issue.
Instructions To see the version deployed in each environment, look at the Grafana Container Registry dashboard:

image

/label devopspackage groupcontainer registry Category:Container Registry golang workflowin dev typemaintenance maintenancerelease

Edited by Hayley Swimelar