Skip to content

Automate docker image verification for patch release pipeline

Dat Tang requested to merge dattang/add-ci-job-to-verify-images into master

What does this MR do and why?

Describe in detail what your merge request does and why.

Content

Automate docker image verification for patch release pipeline

  • Add rake tasks to notify and perform docker image verification for patch release pipeline
  • Add CI jobs to notify and perform docker image verification for patch release pipeline

This is a follow up of !3216 (merged), to use the CheckDockerTags class for patch release pipeline.
Ref: gitlab-com/gl-infra/delivery#20237 (closed)

Testing

Pipeline creation

This was tested in this repo (gitlab-org/release-tools), just to see that the pipeline gets created as we expect it.

With SECURITY_RELEASE_PIPELINE=true

With SECURITY_RELEASE_PIPELINE='verify_images'

Screenshot 2024-06-25 at 11.50.48.png

(The verify step happens after publishing and before finalizing)

Screenshot 2024-06-25 at 11.52.25.png

Pipeline

Pipeline

Configuration testing

This was to test the configuration of the pipeline (the job order).

Step Screenshot
Change notification channel for testing (Testing commit)
Initialized as manual pipeline (Pipeline) Screenshot 2024-06-25 at 12.01.40.png
After security_release:early_merge:start is manually triggered
Slack notification (Link) Screenshot 2024-06-25 at 12.04.55.png
After security_release:early_merge:start is completed successfully, it starts security_release:early_merge stage Screenshot 2024-06-25 at 12.05.27.png

Execution testing

This was to actually test the execution of the job calling the bundle exec rake 'security:verify_images:verify' .

Step Screenshot/link
Check if the list of versions is get correctly

[1] pry(main)> ReleaseTools::PatchRelease::Coordinator.new.versions

=> ["17.1.1", "17.0.3", "16.11.5"]

Pipeline manually started

Screenshot 2024-06-25 at 13.42.39.pnghttps://ops.gitlab.net/gitlab-org/release/tools/-/pipelines/3437312

Slack notification (link)

Screenshot 2024-06-25 at 13.48.33.png

security_release:verify_images:verify job gotts the list of upcoming release versions, and started with the first version 17.1.1 and failed here, since of course this version has not been released yet.

Screenshot 2024-06-25 at 13.48.43.png

Job log: https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/14423621

If we test locally with existing versions, the Slack notification would look like this:

Screenshot 2024-06-25 at 14.07.12.png

Edited by Dat Tang

Merge request reports