Draft: Add a job to verify the Docker images appear on `hub.docker.com`
What does this MR do and why?
As part of the monthly release tasks, we create docker hub images as part of the release pipeline. The images appear on hub.docker.com
shortly after the release manager runs the publish command. We need a way to automatically verify these images appear on hub.docker.com
Thus, this class uses the docker_hub_client
we implemented in gitlab-com/gl-infra/delivery#20295 (closed) and addresses: gitlab-com/gl-infra/delivery#20194
Content
- Add class to check for docker images tags
- Add specs
Testing
Pipeline
https://ops.gitlab.net/gitlab-org/release/tools/-/pipelines/3375516
Jobs
- https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/14248336
- https://ops.gitlab.net/gitlab-org/release/tools/-/jobs/14248337
Logs
2024-06-10 20:25:14.996909 D ReleaseTools::GitlabClient -- [HTTParty] [2024-06-10 20:25:14 +0000] 200 "GET https://gitlab.com/api/v4/projects/gitlab-org%2Frelease-tools/remote_mirrors" -
2024-06-10 20:25:15.020828 I ReleaseTools::Slack::ReleasePipelineStartNotifier -- Notifying the stage of a monthly pipeline -- {:stage=>:verify, :release_manager=>"ahyield", :pipeline_url=>"https://ops.gitlab.net/gitlab-org/release/tools/-/pipelines/3375516"}
Cleaning up project directory and file based variables
2024-06-07 08:35:23.666660 D ReleaseTools::GitlabClient -- [HTTParty] [2024-06-07 08:35:23 +0000] 200 "GET https://gitlab.com/api/v4/projects/gitlab-org%2Frelease-tools/remote_mirrors" -
2024-06-07 08:35:23.687719 I ReleaseTools::Monthly::Verify::CheckDockerImages -- Checking docker hub images with version number -- {:version=>"16.0.0"}
2024-06-07 08:35:23.979709 I ReleaseTools::Monthly::Verify::CheckDockerImages -- Tags exist on docker hub
2024-06-07 08:35:23.979806 I ReleaseTools::Slack::ReleaseJobEndNotifier -- Posting slack message -- {:job_type=>"Check docker images", :status=>:success}
Slack message
Edited by Ahmad Tolba