chore(docker): pin Python base image to 3.12 to match CI (#87) #160
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/87-align-python-3.12"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The Dockerfile shipped
python:3.14-slimfor both runtime images while all CI (ci.yml+dependency-audit.yml) runs Python 3.12. Tests, lint, and audits ran on a different interpreter than production, so a 3.14-only behaviour change could ship untested.Per the issue's recommendation, pin both images to
python:3.12-slim— the actually-tested target — rather than bumping CI to 3.14.Why 3.12 (not 3.14)
bot/requirements.txtis pip-compiled with Python 3.12.audioopmodule that discord.py voice relies on, and there is noaudioop-ltspin — so the recording path would fail on a 3.14 image. Staying on 3.12 keepsaudioopbuilt in.Changes
Dockerfile:backend-baseandbot-base→python:3.12-slim(+ updated header comments).renovate.json: new rule holding thepythonimage on the 3.12 line (disable minor/major) so the generic "automerge Docker patch/minor" rule can't silently drift it back to 3.13/3.14.webapp/botCLAUDE.md.No workflow changes needed (CI is already 3.12). The
dockerCI job builds all three prod images and is the gate here.Closes #87
🤖 Generated with Claude Code
Superseded by #163 — rebased onto current
mainand resolved therenovate.jsonconflict with #20 (both pins kept). Closing this in favour of #163.Pull request closed