Skip to content

Merge the creation of security and monthly release pipeline

What does this MR do and why?

Describe in detail what your merge request does and why.

This MR merges the monthly_release_pipeline and security_pipeline into a single generic release_pipeline method in ReleaseTools::Issue class since they have a similar code.

Related issue: gitlab-com/gl-infra/delivery#20553

Testing

(Note: For testing purposes, I didn't create a monthly/patch release issue to create the release pipeline to prevent any unwanted automation from being triggered accidentally.)

  1. When in dry-run mode, it generates the release issue with the dry-run release pipeline link (I attached only a part of the release issue with the pipeline link):
  • Monthly release

Tag day: Wednesday, Sep 18

  • Start the monthly_release_tag_day:prepare job in the monthly release pipeline: https://example.com/foo/bar/-/pipelines/1
    • Jobs to verify the integrity of the stable branches (monthly_release_tag_day:ensure_stable_branches_green) and the mirror status (monthly_release_tag_day:mirror_status) will start automatically.
  • Once the above jobs are green, trigger the monthly_release_tag_day:start_tag job: https://example.com/foo/bar/-/pipelines/1
    • This job will tag the final 17.4.0 version.
  • Patch release

One day before the due date

If this date is on a weekend, do this work on the next working day.

  • Verify successful merge of the MWPS MRs by:
    • Successful job completion of security_release_early_merge:verify_pending_merge job of the security pipeline: https://example.com/foo/bar/-/pipelines/1
      • There should be a slack message in #f_upcoming_release about "Pending merge" task completing successfully.
  1. Check the values of the pipeline_variables and RELEASE_TYPE received by the release_pipeline method in the ReleaseTools::Issue class using binding.pry
  • Monthly release

image.png

  • Patch release

image.png

Commands to run to generate the issue description locally using dry-run:
  • Monthly release: TEST=true rake release:issue\[<version>\]
  • Patch release: TEST=true rake security:issue

Content

  • Update specs of MonthlyIssue and SecurityIssue and their issue templates in line with the release_pipeline changes
  • Move the creation of the monthly and security release pipelines to the Issue class

Author Check-list

  • Has documentation been updated?
Edited by Mawreen Dela Cruz

Merge request reports

Loading