Skip to content

chore(docker): base image bookworm -> trixie - #374

Merged
jp-fizzbee merged 1 commit into
mainfrom
user/jp/docker-base-trixie
Aug 24, 2026
Merged

chore(docker): base image bookworm -> trixie#374
jp-fizzbee merged 1 commit into
mainfrom
user/jp/docker-base-trixie

Conversation

@jp-fizzbee

Copy link
Copy Markdown
Collaborator

Summary

One-line base switch: python:3.12-slim-bookwormpython:3.12-slim-trixie (both stages).

Debian 13 is current stable; bookworm is oldstable and only degrades from here. Scanner impact measured on the real v0.5.3 image:

Base C H M L
bookworm 2 3 17 41
trixie 2 2 11 29

(The remaining 2C/2H are the unfixed-upstream Debian perl CVEs present in every current Debian image; they clear via the monthly rebuild when Debian ships fixes.)

Python stays 3.12: in the thin-wrapper architecture the base python only bootstraps mbt-scaffold — the parser runs on the tarball's bundled interpreter. Newer python minors change no CVE outcome; alpine is impossible (bundled interpreter is glibc-linked); plain debian:slim would need an apt RUN step for python, breaking the QEMU-free multi-arch build.

Verification

Built against the real v0.5.3 release on trixie: two-phase-commit passes with baseline output (331/281); mbt-scaffold (never previously tested on trixie) works; scout scan as above.

After merge: dispatch the Docker workflow once to republish latest on the new base.

🤖 Generated with Claude Code

Debian 13 (trixie) is current stable; bookworm is oldstable and its
scanner profile will only degrade from here. Same unfixed perl C/H in
both today, but trixie drops the openssl HIGH and roughly halves the
M/L noise (bookworm: 2C 3H 17M 41L -> trixie: 2C 2H 11M 29L).

The python:3.12-slim base itself is unchanged in role: the parser runs
on the tarball's bundled hermetic interpreter; the base only provides
bash for the fizz wrapper and a `python` binary for the mbt-scaffold
launcher — which is also why plain debian:slim doesn't fit (no python
without an apt RUN step, which would break the no-RUN runtime stage
that lets multi-arch builds skip QEMU) and alpine can't work at all
(the bundled interpreter is glibc-linked).

Verified against the real v0.5.3 tarball on trixie: two-phase-commit
passes with baseline-identical output (331/281), and mbt-scaffold —
never previously exercised on trixie — works.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jp-fizzbee
jp-fizzbee merged commit b8358c8 into main Aug 24, 2026
1 check passed
@jp-fizzbee
jp-fizzbee deleted the user/jp/docker-base-trixie branch August 24, 2026 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants