Skip to content

Draft: Add a job to verify the Docker images appear on `hub.docker.com`

Ahmad Tolba requested to merge aht/docker-hub-api-job into master

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

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

Merge request reports