chore(docker): pin Python base image to 3.12 to match CI (#87) #163
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/87-python-pin-v2"
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?
Rebased replacement for #160 (which conflicted with #20 in
renovate.jsonafter #20 merged first). Conflict resolved by keeping both the ruff pin (#20) and the python-image pin (#87) as separate Renovate rules.Summary
The Dockerfile shipped
python:3.14-slimfor both runtime images while all CI runs Python 3.12 — so tests, lint, and audits ran on a different interpreter than production.Why 3.12 (not 3.14)
bot/requirements.txtis pip-compiled with 3.12.audioopmodule 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.renovate.json: hold thepythonimage on the 3.12 line (alongside the ruff pin from #20).webapp/botCLAUDE.md.The
dockerCI job builds all three prod images and is the gate here.Closes #87
🤖 Generated with Claude Code