Release Version v4.12.0-gitlab

What's New in this Version

4.12.0 (2024-10-29)

✨ Features ✨

  • api: log tag override events (0ffc35a)
  • temporarily bump DB load balancing DNS timeout (d3de2a3)

⚙️ Build ⚙️

  • deps: update module cloud.google.com/go/storage to v1.45.0 (fc19527)
  • deps: update module github.com/schollz/progressbar/v3 to v3.17.0 (54a31fa)
  • deps: update module go.uber.org/mock to v0.5.0 (1b09600)
  • update module github.com/aws/aws-sdk-go to v1.55.5 (b1565ab)
  • update module google.golang.org/api to v0.203.0 (9d990f8)

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 10 days before the date of the target GitLab release
Documentation/resources

The due date is set to 10 days before the targeted GitLab release date to create a buffer of 5 days before the merge deadline. See Product Development Timeline for more information about the GitLab release timings.

2. Release

  1. Run the make release-dry-run command.
  2. Review each MR in the new release 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.
  3. Run the make release command. A new tag should have been created and pushed.
Documentation/resources

The release documentation can be found here.

3. Update

Note: Version bumps for CNG, Omnibus and GDK are triggered at the "same" time. Only the Charts and K8s Workloads bumps need to wait for the CNG one.

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

  1. Version bump for the CNG is automatically done using the internal release-cli.
    1. Make sure all pipelines associated with the MR ran to completion.
    2. Request a maintainer review from @gitlab-org/maintainers/container-registry. 1· For the maintainer review of the CNG bump, a maintainer should check the CNG MR to make sure:
      • The MR is targeting the master branch.
      • The MR has a green pipeline on GitLab.com.
  2. Version bump for GDK is automatically done using the internal release-cli.
    • Assign to the reviewer suggested by reviewer roulette
  3. Version bump MR in Omnibus is automatically done using the internal release-cli.
    • Assign to the reviewer suggested by reviewer roulette
  4. Version bump in Charts is automatically done using the internal release-cli.
    • Assign to the reviewer suggested by reviewer roulette
  5. Version bumps in K8s Workloads need to be done manually for now as CI is broken.
    1. When opening this MR manually please give it the title "Bump Container Registry to [version] ([environment(s)])".
    2. Check MRs included in the release for the labels high-risk-change, cannot-rollback.
      • If they exist, add the same label to each deployment stage.
      • Follow the potentially risky deployments instructions.
    3. Each environment needs to be deployed and confirmed working in the order listed below, before merging the next MR.
      1. To see the version deployed in each environment, look at Container Registry version chart in Grafana
      2. Version bump for Pre-Production and Staging.
      3. Version bump for Production Canary.
      4. Version bump for Production Main Stage.
Documentation/resources
  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. If you encounter any issues when merging CNG MR, request help by following the distribution MR workflow.
  3. If opening MR for Omnibus manually, please give it the title "Bump Container Registry to [version]".

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.
      • Check the #qa-production Slack channel for canary end-to-end tests passed!.
      • Check logs for errors (json.stage: cny).
      • Check metrics dashboard.
    • 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.

4. Complete

  1. Assign label workflowverification once all changes have been merged.
  2. Assign label workflowproduction once all changes have been deployed.
  3. Close this issue.
Edited Oct 29, 2024 by João Pereira
Assignee Loading
Time tracking Loading