Skip to content

feat: Build ringctl container image for feature branches

What

Related to delivery#21573.

When testing ringctl with Tissue, we need a container image that contains the feature branch build of ringctl that we can use in Tissue. Right now, MRs run the goreleaser_build job which builds a amd64 binary. However, there is no associated container image.

As far as I looked at the documentation of GoReleaser and the common-ci-task for goreleaser, I could not find any method to customize the rules: or the .goreleaser.yml file to build a Docker image for MRs. So, I have written the simple docker build commands directly into the CI configuration.


Separately, I was wondering: Why are we using Go Releaser?

Goreleaser is useful if we want to build multi-platform binaries or for tools where there are many users on various setups. However, in our case, I find Go Releaser to be a bit too complex for what we want to do in ringctl: Build a binary in CI and package it up in a Docker container. It is a complex wrapper around two simple tools: go build and docker build

This was the last release job: It is building a bunch of executables. I wonder if we can just ask users of ringctl to install Golang using mise and avoid building all these output artifacts:

image

Why

Container images for feature branches are required to test features in Ringctl with Tissue.

Edited by Siddharth Kannan

Merge request reports

Loading