Skip to content

build(deps)(deps): bump python from 3.12-slim-bookworm to 3.14-slim-bookworm#137

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/docker/python-3.14-slim-bookworm
Closed

build(deps)(deps): bump python from 3.12-slim-bookworm to 3.14-slim-bookworm#137
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/docker/python-3.14-slim-bookworm

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 20, 2026

Copy link
Copy Markdown
Contributor

Bumps python from 3.12-slim-bookworm to 3.14-slim-bookworm.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps python from 3.12-slim-bookworm to 3.14-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14-slim-bookworm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: docker. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jun 20, 2026

devopam commented Jun 25, 2026

Copy link
Copy Markdown
Owner

Closing in favour of a counter-PR that bumps to Python 3.13 (not 3.14).

Why not 3.14: ghcr.io/astral-sh/uv hasn't published a python3.14-bookworm-slim tag yet (current registry has 3.10 / 3.12 / 3.13 on bookworm-slim + trixie-slim). Merging this PR as-is would also leave a builder/runtime mismatch: stage 1 of the Dockerfile would stay on uv:python3.12-bookworm-slim and build wheels for the 3.12 ABI, then stage 2 (python:3.14-slim-bookworm) would fail to load them.

Why 3.13: Both base images exist on the registry (ghcr.io/astral-sh/uv:python3.13-bookworm-slim ✅ and python:3.13-slim-bookworm ✅), every C-extension we ship has a cp313 wheel with the right manylinux profile, and the classifier Programming Language :: Python :: 3.13 is already in pyproject.toml.

Path forward:

  1. This PR closed.
  2. Counter-PR bumping both Docker stages to 3.13 + adding a python-version: "3.13" matrix entry to the CI workflow.
  3. Revisit 3.14 once astral publishes the matching uv image (~6 weeks per their historical cadence). Dependabot will re-PR for 3.14 in due course.

Verified wheel availability for the heavy C-extensions (cp314 column included for posterity — they're ready, the image isn't):

Package Latest cp314 wheel manylinux
pglast 7.14 yes (+ cp314t free-threaded) 2.28
psycopg-binary 3.3.4 yes 2.17
pydantic-core 2.47.0 yes 2.17

·@·d·ependabot i·gnore t·his major version


Generated by Claude Code

@devopam devopam closed this Jun 25, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot Bot deleted the dependabot/docker/python-3.14-slim-bookworm branch June 25, 2026 07:42
devopam pushed a commit that referenced this pull request Jun 25, 2026
…137)

Closes the loop on dependabot PR #137 (3.12 → 3.14). Goes to 3.13
instead of 3.14 because the upstream constraint is:

  - `ghcr.io/astral-sh/uv` hasn't published a `python3.14-bookworm-slim`
    tag yet (current registry: 3.10 / 3.12 / 3.13 on bookworm-slim +
    trixie-slim). Bumping the Dockerfile runtime alone (what dependabot
    proposed) leaves stage 1 of the multi-stage build on 3.12-built
    wheels — the C extensions (psycopg-binary, pydantic-core, pglast)
    would fail to load on the 3.14 runtime ABI.

3.13 is the clean path forward:

  - both base images exist on the registry
  - all heavy C-extensions ship cp313 wheels (verified on PyPI)
  - the `Programming Language :: Python :: 3.13` classifier is
    already in pyproject.toml
  - 3.13 has been GA for >1 year; every dep has battle-tested wheels

Bumps:

  - Dockerfile stage 1 (builder): python3.13-bookworm-slim
  - Dockerfile stage 2 (runtime): python:3.13-slim-bookworm
  - .github/workflows/ci.yml: 3 `python-version: "3.12"` → "3.13"
  - .github/workflows/publish.yml: same 3 sites
  - pyproject.toml `[tool.mypy] python_version`: 3.13
  - .python-version: 3.13 (drives `uv venv` / local dev shell)

Intentionally NOT changed:

  - `requires-python = ">=3.12"` — 3.12 stays supported for users
    installing from PyPI. We just don't test 3.12 in CI any more
    (single Python version in the matrix; adding 3.12 + 3.13 would
    Cartesian-product against the 6-version PG matrix into 12 jobs).
  - `[tool.ruff] target-version = "py312"` — ruff's fix suggestions
    stay at the support floor, not the test version. Otherwise ruff
    might propose py313-only syntax (e.g. PEP 695 type bounds) that
    would break installs on 3.12.
  - The `Python :: 3.12` classifier — still supported.

Revisit 3.14 once astral publishes `uv:python3.14-bookworm-slim`
(~6 weeks per their historical cadence). Wheel availability for our
heavy C-extensions on cp314 is already there (verified before this
PR — pglast 7.14 cp314 + cp314t, psycopg-binary 3.3.4 cp314,
pydantic-core 2.47.0 cp314).

Verified locally:
  - uv run python --version → Python 3.13.12
  - uv run pytest -q --ignore=tests/integration → 2,295 passed
  - uv run ruff check . && ruff format --check . → clean
  - uv run mypy src/mcpg → clean (89 source files)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0122yLZLJ8t4W43sdN6BmTZc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant