Skip to content

Fix CI image builds by moving off end-of-life Debian 11 - #1410

Open
mihow wants to merge 1 commit into
mainfrom
fix/ci-debian-base-image
Open

Fix CI image builds by moving off end-of-life Debian 11#1410
mihow wants to merge 1 commit into
mainfrom
fix/ci-debian-base-image

Conversation

@mihow

@mihow mihow commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Every backend CI run has failed since 2026-09-04, on main as well as on open pull requests, because the Django image can no longer be built. The images are based on Debian 11 (bullseye), whose long-term support ended on 2026-08-31, and its security package pool is now being pruned: apt-get install fetches a package the index still lists and gets a 404 (libperl5.32 … deb11u5 on one run, xz-utils … deb11u2 on the next). Retrying does not help; five reruns across five CDN edges all failed.

This moves the images to Debian 12 (bookworm), which is supported until 2028. The Python version stays at 3.11.11, so nothing about the application's runtime changes apart from the operating-system packages underneath it.

List of Changes

# Change (effect) How
1 Backend CI builds again, and so do local and production images. compose/local/django/Dockerfile and compose/production/django/Dockerfile now start from python:3.11.11-slim-bookworm instead of python:3.11.11-slim-bullseye.
2 The docs image no longer depends on an end-of-life Debian either. compose/local/docs/Dockerfile moves from python:3.11.4-slim-bullseye to python:3.11.11-slim-bookworm.

Verification

Both the local and the production Django images were built locally from this branch with --no-cache, so the apt step really ran against bookworm rather than a cached layer. In both images python -c "import django, psycopg, PIL, numpy" succeeds and pip check reports no broken requirements. The CI run on this pull request is the end-to-end check that the build step and the test suite pass on the new base.

Debian 13 (trixie) was considered and left for later: the official Python images do not publish a 3.11.11-slim-trixie tag, so moving to 13 would also mean changing the pinned Python patch version.

Debian 11 (bullseye) LTS ended on 2026-08-31 and its security package pool
is being pruned, so every image build now fails at apt-get with a 404 on
a package the index still lists. Switch the three python:3.11.11-slim
bases from bullseye to bookworm; the Python version is unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 5, 2026 01:06
@netlify

netlify Bot commented Sep 5, 2026

Copy link
Copy Markdown

Deploy Preview for antenna-preview canceled.

Name Link
🔨 Latest commit 314ff47
🔍 Latest deploy log https://app.netlify.com/projects/antenna-preview/deploys/6a9b6b22b0786b000823428a

@netlify

netlify Bot commented Sep 5, 2026

Copy link
Copy Markdown

Deploy Preview for antenna-ssec canceled.

Name Link
🔨 Latest commit 314ff47
🔍 Latest deploy log https://app.netlify.com/projects/antenna-ssec/deploys/6a9b6b225741d5000819be63

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 47 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: d9a337ad-14c9-43a0-86b3-1de4b6532ddc

📥 Commits

Reviewing files that changed from the base of the PR and between 7634311 and 314ff47.

📒 Files selected for processing (3)
  • compose/local/django/Dockerfile
  • compose/local/docs/Dockerfile
  • compose/production/django/Dockerfile

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The change is a minimal, targeted base-image update consistent with the PR description, with no remaining bullseye references under compose/ and low functional risk beyond OS package updates.

Pull request overview

Updates the Docker base images used for backend (local + production) and docs builds from Debian 11 (bullseye, now EOL and causing apt-get 404s in CI) to Debian 12 (bookworm) while keeping the backend Python pin at 3.11.11 to restore reliable image builds across CI/local/production.

Changes:

  • Switch production Django image base to python:3.11.11-slim-bookworm.
  • Switch local Django image base to python:3.11.11-slim-bookworm.
  • Switch local docs image base to python:3.11.11-slim-bookworm (from 3.11.4 on bullseye).
File summaries
File Description
compose/production/django/Dockerfile Moves production Django base image from bullseye to bookworm to prevent CI build failures from pruned Debian 11 security pools.
compose/local/django/Dockerfile Moves local Django base image from bullseye to bookworm to match production and keep local builds aligned/stable.
compose/local/docs/Dockerfile Moves docs image off bullseye to bookworm and aligns Python patch version with the backend images.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

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