2c39a17e69
The unsuffixed :<version> and :latest came from a second, independent buildx step, so they resolved to a different digest than :<version>-<suffix> — nobody had tested the bits consumers pin. Published v0.1.0 shows it: the amd64 children share four layers and differ in the top one. Retag the manifest the matrix step just pushed with imagetools create. Drop the duplicate build.
1.2 KiB
1.2 KiB
container-gobuilder
The estate's Go toolchain image, built on each container-base distro image.
Published as artifactapi.k8s.syd1.au.unkin.net/docker-internal/gobuilder:<version>-<suffix>;
the default distro's build is retagged as the unsuffixed :<version> and :latest,
so all three resolve to one digest.
| distro | from | tag suffix | default |
|---|---|---|---|
alma9 |
docker-internal/almalinux9:<base version> |
alma9 |
yes |
Adds golang, gcc and nfpm, and bakes in the go-cache-plugin binary on PATH
so Go pipelines get the shared build cache with no download step. No credentials and no
GOCACHEPROG value are baked in — consumers set those.
The container-base release this image builds on is BASE_VERSION in the Dockerfile.
Adding a distro
distros/<name>/distro.env—BASE_IMAGE_NAME,IMAGE,TAG_SUFFIX,DEFAULT,PACKAGES,GO_MIN.- One
includeentry in each of.woodpecker/{build,docker}.yaml.
The check-distros pre-commit hook fails if step 1 or 2 is incomplete, or if more than
one distro claims DEFAULT.
Make
make build # build every distro
make pre-commit # uvx pre-commit run --all-files
make build-alma9 # one distro
make patch|minor|major