Skip to content

Updates security release template

What does this MR do?

Updates security release template to:

Example

Security patch release: 12.10.2, 12.9.9, 12.8.7

General guidelines

Preparation

  • Validate and merge security merge requests using ChatOps:

    • This will merge all security merge requests associated with a security implementation issue if all of them are valid.
    # In Slack:
    /chatops run release merge --security
  • If any merge requests could not be merged, investigate what needs to be done to resolve the issues. Do not proceed unless it has been determined safe to do so.

Auto-Deploy - only for the latest version

The following steps should ideally be completed within one day.

  • Temporarily disable the scheduled auto-deploy tasks via ChatOps:

    # In Slack
    /chatops run auto_deploy pause
  • Ensure latest auto-deploy branches are synced across Canonical, Security, and Build:

    # In Slack
    /chatops run mirror status
  • Disable omnibus nightly builds by setting the schedules to inactive https://dev.gitlab.org/gitlab/omnibus-gitlab/pipeline_schedules

  • Manually cherry pick EACH security fix into the CURRENT auto-deploy branch, both GitLab and Omnibus. You can use the following script:

Script to push to auto-deploy branch
# fetch both remotes
git fetch origin
git fetch security

# sync current auto-deploy branch on security
git checkout -b CURRENT_AUTO_DEPLOY_BRANCH --track security/CURRENT_AUTO_DEPLOY_BRANCH
git pull origin CURRENT_AUTO_DEPLOY_BRANCH
git push security

# get a list of all the merge commits on security/master not available on origin/master
git log origin/master..security/master --merges | grep "^commit"

# cherry-pick each commit on that list in the current auto-deploy branch
git cherry-pick -m 1 -x COMMIT_ID

# push to security
git push security
  • Tag a new auto-deploy version via ChatOps (no need to wait for green build), to create a deployer pipeline that will deploy to staging and create a QA issue:
    # In Slack
    /chatops run auto_deploy tag --security

QA

  • On the deployer pipeline, manually cancel the gprd-cny-change-lock from the deployer pipeline. This will prevent the automatic promotion to Canary.

  • Once the deploy to staging is completed, notify the @appsec-team member so they can validate the security fixes on staging.

  • Once the security fixes been validated on staging, retry the gprd-cny-change-lock job to promote to Canary.

  • If there are no issues reported on canary, proceed to promote the deployment to production.

Rest of the template stays the same


Edited by Mayra Cabrera

Merge request reports