Monthly release: Test the release candidate automation on 18.2

Context

gitlab-com/gl-infra/software-delivery&1 (closed) proposes to move the active stable branch generation one week earlier in the release schedule to allow for thorough testing and timely backports. This will increase the quality, safety, and reliability of the monthly release while enabling a better developer experience and confidence.

The new workflow will be:

  • 2nd Wednesday of the month: RC and Stable branch creation (after the patch release is out)
  • Up to 3rd Tuesday of the month: Bug fixes are backported to the ongoing stable branch (see
  • 3rd Tuesday of the month (Late EMEA or early AMER): Final RC is created
  • 3rd Wednesday of the month Tag the final version
  • 3rd Thursday of the month Release

Automation has been implemented to tag the initial and final release candidates

Test the release candidate automation on 18.2

18.2 is scheduled to be released next week. Lets use this opportunity to test the release candidate automation

Requirements

Initial release candidate (to be performed on 2025-07-15)

Job execution

  • Start the monthly_release_initial_rc:start job
  • Ensure the monthly_release_initial_rc:tag is executed after the start job
  • After the tag job completed:
    • Review the verify_ce job is automatically triggered
    • Review the update_branch_permissions job is automatically triggered
    • Review the release_environment job is automatically triggered
  • 90 minutes, after the tag job completed:
    • Review the verify_rc_pipeline is automatically triggered
    • Review the verify_pre_deployment is automatically triggered

monthly_release_initial_rc:start job

  • Ensure a notification is sent to the #f_upcoming_release channel

monthly_release_initial_rc:tag

monthly_release_initial_rc:verify_ce

  • Ensure the monthly_release_initial_rc:verify_ce job is successfully executed: https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/19306141
  • Verify that a Slack notification was sent
  • 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@18-2-stable-ee"

monthly_release_initial_rc:verify_rc_pipeline

monthly_release_initial_rc:verify_pre_deployment

  • Ensure the monthly_release_initial_rc:verify_pre_deployment is successfully executed https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/19306143
  • Verify that a Slack notification was sent
  • Verify that the RC has been deployed to the pre environment
    • Deployment to pre will start automatically. It can take 2 hours to start once the RC is tagged. A notification will be sent to the #announcements channel in Slack when it starts.

monthly_release_initial_rc:update_branch_permissions

monthly_release_initial_rc:release_environment

Clean-up

This is not needed if the next release candidate can be created

  • [-] Remove the 18-2-stable-ee branch permission

Final release candidate (to be performed on 2025-07-15)

Job execution

  • Start the monthly_release:final_rc:start job https://ops.gitlab.net/gitlab-org/release/tools/-/pipelines/4727877
  • Ensure the monthly_release_final_rc:verify_stable_branch is executed after the start job
  • Ensure the monthly_release_final_rc:update_branch_permission is executed after the start job
  • Ensure the monthly_release_final_rc:tag is executed after the verify_stable_branch and update_branch_permissions jobs
  • After the tag job completed, review the monthly_release_final_rc:verify_ce job is automatically triggered
  • 90 minutes, after the tag job is completed:
    • Review the verify_rc_pipeline is automatically triggered
    • Review the verify_pre_deployment is automatically triggered

monthly_release:final_rc:start job

  • Ensure a notification is sent to the #f_upcoming_release channel

monthly_release_final_rc:verify_stable_branch

monthly_release_final_rc:update_branch_permission

monthly_release_final_rc:tag

monthly_release_final_rc:verify_ce

  • [-] Ensure the monthly_release_final_rc:verify_ce job executes successfully https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/19306150
  • [-] 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@18-2-stable-ee"

monthly_release_final_rc:verify_rc_pipeline

  • Ensure the monthly_release_initial_rc:verify_rc_pipeline is successfully executed
  • Verify that pipelines are green /chatops run release status 18.2.0-rc43

monthly_release_final_rc:verify_pre_deployment

  • Ensure the monthly_release_final_rc:verify_pre_deployment is successfully executed
  • Verify that the RC has been deployed to the pre environment
    • Deployment to pre will start automatically. It can take 2 hours to start once the RC is tagged. A notification will be sent to the #announcements channel in Slack when it starts.

Clean-up

Follow-ups

Table view of the follow-up issues
display: table
title: Follow-up issues for earlier stable branch creation
description: This view lists my open issues
fields: title, state, assignee, updated
limit: 20
query: project = "gitlab-com/gl-infra/delivery" and id in (21342, 21344, 21345, 21309, 21347, 21348, 21349, 21350)

Conclusion

  • Release candidates for 18.1 and 18.2 were successfully created. Details: initial and final
  • Follow-up issues have been opened to address issues encountered with the automation
  • Another test will be performed on 18.3 to gather release manager feedback #21356 (closed)
Edited by Siddharth Kannan