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.)
- 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.
- Jobs to verify the integrity of the stable branches (
-
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.
- This job will tag the final
- 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.
- There should be a slack message in
- Successful job completion of
- Check the values of the
pipeline_variables
andRELEASE_TYPE
received by therelease_pipeline
method in the ReleaseTools::Issue class usingbinding.pry
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