Build ringctl container images on feature branches in CI and push to the Ops registry
Summary
Right now, we use goreleaser to build Docker images when a tag is created in https://gitlab.com/gitlab-com/gl-infra/ringctl. It is not easy to add this CI job into MR pipelines because goreleaser is imported from common-ci-tasks, and it has some logic in rules:if: The goreleaser: CI job assumes that there is a tag or that we are doing a release on the default branch. There is no mode to use to build a feature branch container image.
A feature branch container image is essential if we want to test a change in ringctl in Tissue. We can update the variable GL_ASDF_RINGCTL_VERSION in Tissue when we want to test a new version of ringctl.
The changes required to build an image on registry.gitlab.com are in this commit range: ringctl@dd2df2e7...aaf93506 I will convert this into an MR later, once I am done working on https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/21480.
We need to add the logic to build this image on the Ops mirror of ringctl as well because Tissue uses ringctl images from Ops by default. (Tissue will be used to deploy to a part of GitLab.com => So, it should not be dependent on the GitLab.com container registry.)
Exit criteria
-
Build Docker images on feature branches of ringctl -
Push these Docker images to the container registry on Gitlab.com -
Push these Docker images to the container registry on ops.gitlab.net
/assign me
/label ~"Category:Cell"
/blocked_by https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/21480