702f0706aa
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build-matrix/2 Pipeline was successful
ci/woodpecker/pr/build-matrix/3 Pipeline was successful
ci/woodpecker/pr/build-matrix/1 Pipeline was successful
ci/woodpecker/pr/build-matrix/4 Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
36 lines
1.6 KiB
Markdown
36 lines
1.6 KiB
Markdown
# 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
|