benvin 0693dd0080
ci/woodpecker/tag/docker/2 Pipeline was successful
ci/woodpecker/tag/docker/3 Pipeline was successful
ci/woodpecker/tag/docker/4 Pipeline was successful
ci/woodpecker/tag/docker/1 Pipeline was successful
Merge pull request 'feat: scaffold rpmbuilder image' (#1) from benvin/scaffold into main
Reviewed-on: #1
2026-10-05 14:14:38 +11:00
2026-10-05 13:54:47 +11:00
2026-10-05 13:54:47 +11:00
2026-10-05 13:54:47 +11:00
2026-10-05 13:54:47 +11:00
2026-10-05 13:54:47 +11:00

container-rpmbuilder

The estate's RPM packaging image, built on each container-base distro image. Published as artifactapi.k8s.syd1.au.unkin.net/docker-internal/rpmbuilder:<version>-<suffix>; the default distro's build is retagged as the unsuffixed :<version>, so both resolve to one digest. Only explicit versions are published; never a floating tag.

distro from tag suffix default
alma9 docker-internal/almalinux9:<base version> alma9 yes
fedora42 docker-internal/fedora42:<base version> fedora42 no
fedora43 docker-internal/fedora43:<base version> fedora43 no
fedora44 docker-internal/fedora44:<base version> fedora44 no

Adds rpm-build, rpmdevtools, rpmlint, rpm-sign, nfpm, envsubst (gettext), buildah, go, gcc and the usual autotools/debug toolchain; see PACKAGES in each distros/<name>/distro.env.

The container-base release this image builds on is BASE_VERSION in the Dockerfile.

Adding a distro

  1. distros/<name>/distro.env — BASE_IMAGE_NAME, IMAGE, TAG_SUFFIX, DEFAULT, PACKAGES.
  2. One include entry in each of .woodpecker/{build-matrix,docker}.yaml.

The check-distros pre-commit hook fails if step 1 or 2 is incomplete, or if more than one distro claims DEFAULT. .woodpecker/build.yaml only aggregates the matrix into the ci/woodpecker/pr/build context that branch protection requires.

Make

make build          # build every distro
make pre-commit     # uvx pre-commit run --all-files
make build-alma9    # one distro
make patch|minor|major
S
Description
RPM build container image (rpmbuild/nfpm toolchain), built per distro, used by Woodpecker pipelines to package RPMs.
Readme 36 KiB
Languages
Shell 45%
Makefile 38.6%
Dockerfile 16.4%