Skip to content

build: move the image to Debian trixie - #30

Merged
nucliweb merged 1 commit into
mainfrom
build/debian-trixie
Oct 2, 2026
Merged

nucliweb merged 1 commit into
mainfrom
build/debian-trixie

Conversation

@nucliweb

@nucliweb nucliweb commented Oct 2, 2026

Copy link
Copy Markdown
Owner

Summary

Moves the Docker image from Debian bookworm to trixie, so the packaged encoders are current instead of years behind upstream.

Package bookworm trixie
libavif (avifenc) 0.11.1 1.2.1
libwebp (cwebp) 1.2.x 1.5.0
libheif (heif-enc) 1.15.x 1.23.4
ImageMagick 6 7
Node.js 18 20
  • Runtime libraries renamed by the t64 transition: libhwy1t64, libpng16-16t64.
  • libheif-plugin-x265 installed explicitly: trixie ships the HEVC encoder as a plugin (a recommends), so with --no-install-recommends heif-enc fails with "No HEVC encoder available". The build is green without it; the smoke test caught it.
  • Stale comments removed (draft header, old rustc and avifenc version notes).

Size impact

Bytes at equal quality (ssimulacra2 90) on the demo images stay within the 2% tolerance, so baseline.json is unchanged. Largest move: AVIF on kodim23, +0.40%. The rest are between −0.10% and +0.12%.

Test plan

  • docker build succeeds
  • smoke-test.sh in the image: 42 ok, 0 failed
  • Full test suite in the image: 45 pass, 0 skipped (integration tests run against the real codecs)
  • Demo comparison passes the size-regression gate against the current baseline (local, arm64)
  • Size-regression gate and Image E2E on CI (amd64)

Base both stages on debian:trixie-slim, which brings newer packaged encoders (avifenc 1.2.1, cwebp 1.5.0, libheif 1.23.4). Rename the runtime libraries that moved to t64 packages and install libheif-plugin-x265, since trixie ships the HEVC encoder as a plugin that --no-install-recommends leaves out. Sizes at equal quality stay within the regression tolerance, so the baseline is unchanged. Also drop the stale draft header and outdated version notes.
@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown

Codec comparison ✅ no size regression

📥 Download the codec report (unzip and open report.html locally).

Size check
Size regression check (tolerance 2.0%)

  ok         kodim04.png  JPEG XL  base 120534 → 120534  (+0.00%)
  ok         kodim04.png  jpegli  base 130656 → 130656  (+0.00%)
  improved   kodim04.png  HEIC  base 141774 → 141631  (-0.10%)
  ok         kodim04.png  AVIF  base 150014 → 150019  (+0.00%)
  ok         kodim04.png  WebP  base 173748 → 173748  (+0.00%)
  ok         kodim04.png  mozjpeg  base 201372 → 201372  (+0.00%)
  ok         kodim19.png  JPEG XL  base 136558 → 136558  (+0.00%)
  ok         kodim19.png  jpegli  base 147032 → 147032  (+0.00%)
  improved   kodim19.png  AVIF  base 148631 → 148498  (-0.09%)
  ok         kodim19.png  HEIC  base 155171 → 155322  (+0.10%)
  ok         kodim19.png  WebP  base 173918 → 173918  (+0.00%)
  ok         kodim19.png  mozjpeg  base 213006 → 213006  (+0.00%)
  ok         kodim23.png  JPEG XL  base 74113 → 74113  (+0.00%)
  ok         kodim23.png  jpegli  base 97039 → 97039  (+0.00%)
  ok         kodim23.png  AVIF  base 111100 → 111556  (+0.41%)
  ok         kodim23.png  mozjpeg  base 130349 → 130349  (+0.00%)
  ok         kodim23.png  WebP  base 140374 → 140374  (+0.00%)
  ok         kodim23.png  HEIC  base 157392 → 157442  (+0.03%)

OK: no size regressions.

@nucliweb
nucliweb merged commit e3f520e into main Oct 2, 2026
2 checks passed
@nucliweb
nucliweb deleted the build/debian-trixie branch October 2, 2026 13:26
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.

1 participant