Skip to content

Drop Debian bullseye from the build matrix - #306

Merged
ericmj merged 1 commit into
mainfrom
drop-debian-bullseye
Sep 16, 2026
Merged

ericmj merged 1 commit into
mainfrom
drop-debian-bullseye

Conversation

@ericmj

@ericmj ericmj commented Sep 16, 2026

Copy link
Copy Markdown
Member

Debian 11 reached end of life on 2026-08-31 and the bullseye-security pool is being deleted while the index still advertises its packages. bullseye-security InRelease is dated Sat, 12 Sep 2026 and its Packages still lists perl 5.32.1-4+deb11u5 at pool/updates/main/p/perl/perl_5.32.1-4+deb11u5_amd64.deb, but a directory listing of that path on deb.debian.org now returns only deb12 files.

So apt-get install at priv/scripts/docker/erlang-debian-bullseye.dockerfile:6 fails on 8 packages, including libssl-dev, libc-dev-bin, linux-libc-dev and perl:

docker run --rm --platform linux/amd64 debian:bullseye-20260824 \
  sh -c 'apt-get update -qq && apt-get -y --no-install-recommends install \
    autoconf dpkg-dev gcc gcc-9 g++ make libncurses-dev unixodbc-dev \
    libssl-dev libsctp-dev wget ca-certificates pax-utils'

exits 100. The same install on debian:bookworm-20260824 and debian:trixie-20260824 exits 0. bullseye-security is not on archive.debian.org yet (404 on its Release, while bullseye main is 200), so there is nothing to repoint apt at. Dropping the security source instead leaves apt with held broken packages.

Every OTP release now queues four bullseye builds (2 os_versions x 2 arches) that fail and retry on the 24h queue backoff cap forever. OTP 29.1 is the current one, reported as BOB-15: 29.1 published for trixie on Docker Hub at 11:01 UTC today, bullseye failed on both arches at 11:33.

Two consequences worth naming. builds/0 is what the build request form clamps its os_version options to, so bullseye disappears from the form and the bullseye clause in build_erlang_ref?/3 becomes unreachable, removed here. And DockerCleanup keeps erlang per-arch tags whose os_version is still in the matrix, so per-arch bullseye tags older than 30 days become deletable; the multi-arch manifests users pull are not pruned.

Fixes BOB-15

🤖 Generated with Claude Code

https://claude.ai/code/session_01KBuPHAFAcV3evQfy2e538k

Debian 11 reached end of life on 2026-08-31 and the bullseye-security
pool is being deleted while the index still advertises its packages, so
`apt-get install` in the bullseye Dockerfile fails on 8 packages,
including libssl-dev, libc-dev-bin, linux-libc-dev and perl:

    docker run --rm --platform linux/amd64 debian:bullseye-20260824 \
      sh -c 'apt-get update -qq && apt-get -y --no-install-recommends install \
        autoconf dpkg-dev gcc gcc-9 g++ make libncurses-dev unixodbc-dev \
        libssl-dev libsctp-dev wget ca-certificates pax-utils'

exits 100. The same install on bookworm-20260824 and trixie-20260824
exits 0. bullseye-security is not on archive.debian.org yet, so there is
nothing to repoint apt at.

Every OTP release now queues four bullseye builds that fail and retry on
the queue backoff forever. OTP 29.1 is the current one, reported as
BOB-15.

Dropping bullseye from builds/0 also removes it from the build request
form, which clamps its os_version options to the matrix, so the
bullseye clause in build_erlang_ref?/3 is unreachable and goes with it.

Per-arch bullseye tags older than 30 days become deletable by
DockerCleanup. The multi-arch manifests users pull are not pruned.

Fixes BOB-15

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KBuPHAFAcV3evQfy2e538k
@ericmj
ericmj merged commit 11e1790 into main Sep 16, 2026
4 checks passed
@ericmj
ericmj deleted the drop-debian-bullseye branch September 16, 2026 12:15
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