Skip to content

revert(docker): pin images to 3.12 + stop Dependabot auto-merge#51

Merged
19-84 merged 1 commit into
mainfrom
chore/revert-py314-stop-automerge
Jun 9, 2026
Merged

revert(docker): pin images to 3.12 + stop Dependabot auto-merge#51
19-84 merged 1 commit into
mainfrom
chore/revert-py314-stop-automerge

Conversation

@19-84

@19-84 19-84 commented Jun 9, 2026

Copy link
Copy Markdown
Owner

Why

Dependabot auto-merged a Python base-image bump (3.123.14) across the builder and mcp_server images (search-server was already 3.14) with no human review. CI tests on 3.12, so the 3.14 images ran a Python version the suite never validated. Running the full suite on 3.14 manually surfaced a PythonFinalizationError from psycopg's connection pool at interpreter shutdown (3.14 made joining threads during finalization an error) — a regression the 3.12 suite doesn't show. 735 tests "pass" on 3.14, but with that noisy unclean-shutdown behavior per worker.

What

1. Revert all images to Python 3.12

Image Before After
Dockerfile (builder) 3.14-alpine 3.12-alpine
docker/search-server/Dockerfile 3.14-alpine 3.12-alpine
mcp_server/Dockerfile 3.14-slim-bookworm 3.12-slim-bookworm
docker/leaderboard/Dockerfile 3.12-alpine 3.12-alpine (unchanged)

All images now match CI's 3.12 — which also completes roadmap Feature 11 (search-server was the original 3.14 outlier). Updated F11 to Done and removed the resolved "Docker Python" row from CLAUDE.md's deviations table.

2. Stop Dependabot auto-merge

  • Removed .github/workflows/dependabot-auto-merge.yml.
  • Disabled the repo allow_auto_merge setting.
  • Kept: dependabot.yml coverage (uv / search-server pip / docker / actions) and main branch protection (full required-check suite). So Dependabot still opens (grouped) PRs and they still must be green — but a human merges them now, so base-image and major bumps get reviewed.

Not reverted

The other auto-merged Dependabot PRs are left in place (gunicorn 23→26 — boot-tested by the integration check, aiohttp, fetch-metadata, search-server patch group). Say the word if you want any of those rolled back too.

Verification

  • search-server builds on 3.12 (Python 3.12.13 in the image)
  • full suite passes on 3.12 (735 tests); the 3.14-only PythonFinalizationError is gone

Two coupled changes responding to an auto-merge incident.

Revert to Python 3.12:
A Dependabot auto-merge episode bumped the builder and mcp_server images
to Python 3.14 (search-server was already 3.14). CI's test suite runs on
3.12, so the 3.14 images ran a Python version the suite never validated.
Running the full suite on 3.14 manually surfaced a PythonFinalizationError
from psycopg's connection pool at interpreter shutdown (3.14 made joining
threads during finalization an error) — a regression the 3.12 suite
doesn't show. Pin builder, search-server, and mcp_server back to 3.12.
This also completes roadmap Feature 11 (search-server was the long-standing
3.14 outlier): all images now match CI's 3.12. Removed the resolved
"Docker Python" row from the CLAUDE.md deviations table.

Stop auto-merge:
Remove .github/workflows/dependabot-auto-merge.yml. The auto-merge-
everything policy landed that base-image version bump with no human
review, and CI (testing on 3.12) could not catch the untested-runtime
divergence. Dependabot still opens PRs (dependabot.yml coverage kept) and
branch protection still requires the full check suite — but merges are
now manual.

Verified: search-server builds on 3.12 (Python 3.12.13); full suite
passes on 3.12 (735 tests).
@19-84 19-84 merged commit ff63e67 into main Jun 9, 2026
11 checks passed
@19-84 19-84 deleted the chore/revert-py314-stop-automerge branch June 9, 2026 06:01
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