feat(images): bake the gate, runtime, and C toolchain bases #153

Merged
binjovi-bot merged 2 commits from feat/fleet-base-images into trunk 2026-09-01 14:11:39 +00:00
Owner

Three consumers install the same packages on every build: binjovi's image gate installs postgresql-server per gate run, its runtime stage installs five libraries on generic almalinux:10, and bytey's validation installs gcc and make every time. This onboards three baked images at the versions those consumers assert today:

  • elixir-tester: the pinned elixir-builder toolchain plus PostgreSQL 16.14 (postgresql-server-16.14-1.el10_2.x86_64), for postgres-backed repository gates with no per-run dnf.
  • beam-runtime: almalinux:10 with pinned libstdc++, ncurses-libs, openssl-libs, shadow-utils, and zlib, and the uid 914 beam user - an Elixir release image becomes COPY lines on this base. No dnf update: the package assertions are the contract, and a version change is a deliberate VERSION bump.
  • c-builder: gcc and make with an end-to-end compile check, for bytey-class validation gates.

All three follow the house shape: digest-pinned bases, opt-in PKG_CACHE with repo-file restore, OCI labels, functional checks, VERSION=1. lint-no-runtime-fetch (dockerfiles) is clean. Consumer switches (binjovi Dockerfile, bytey ci) follow separately once final tags publish.

https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5

Three consumers install the same packages on every build: binjovi's image gate installs postgresql-server per gate run, its runtime stage installs five libraries on generic almalinux:10, and bytey's validation installs gcc and make every time. This onboards three baked images at the versions those consumers assert today: - elixir-tester: the pinned elixir-builder toolchain plus PostgreSQL 16.14 (postgresql-server-16.14-1.el10_2.x86_64), for postgres-backed repository gates with no per-run dnf. - beam-runtime: almalinux:10 with pinned libstdc++, ncurses-libs, openssl-libs, shadow-utils, and zlib, and the uid 914 beam user - an Elixir release image becomes COPY lines on this base. No dnf update: the package assertions are the contract, and a version change is a deliberate VERSION bump. - c-builder: gcc and make with an end-to-end compile check, for bytey-class validation gates. All three follow the house shape: digest-pinned bases, opt-in PKG_CACHE with repo-file restore, OCI labels, functional checks, VERSION=1. lint-no-runtime-fetch (dockerfiles) is clean. Consumer switches (binjovi Dockerfile, bytey ci) follow separately once final tags publish. https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5
feat(images): bake the gate, runtime, and C toolchain bases
Some checks failed
pipeline/ci CI failed @ 5618a05b1765
binjovi/shadow Binjovi completed the frozen plan
5618a05b17
Three consumers installed the same packages on every build. Binjovi's
image gate installed postgresql-server for each gate run, its runtime
stage installed five libraries on the generic AlmaLinux base, and
bytey's validation installed gcc and make every time. Each image bakes
its packages once, at the versions the consumers assert today:

- elixir-tester: elixir-builder plus PostgreSQL 16.14 for repository
  gates.
- beam-runtime: the five pinned runtime libraries and the uid 914 beam
  user, so an Elixir release image becomes COPY lines on this base.
- c-builder: gcc and make with an end-to-end compile check.

Claude-Session: https://claude.ai/code/session_01LeVatedQ4sCA1u6LHjo7B5
feat(probe): check bounded TCP availability
All checks were successful
binjovi/ci Binjovi completed the frozen plan
43cd555be9
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
sean/builder-images!153
No description provided.