chore: update base Python to 3.14.7 - #10340
Draft
fatih-acar wants to merge 1 commit into
Draft
Conversation
Bump the base Python version of the container image and the development environment from 3.14.3 to 3.14.7, the latest 3.14 patch release. Also realign two local build defaults that had drifted away from the versions CI already uses: - tasks/shared.py defaulted PYTHON_VER to 3.13 and wins over the Dockerfile ARG (it is passed as --build-arg by container_ops.build), so every local `invoke dev.build` was building on python:3.13-slim while CI built on 3.14.x. - development/docker-compose.yml and .devcontainer/Dockerfile defaulted UV_VER to 0.9.9. CI exports UV_VERSION as a job-level env so the fallback never fired there, but local and devcontainer builds silently installed uv 0.9.9 instead of the pinned 0.11.8. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
No issues found across 6 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Shadow auto-approve: would auto-approve. Patch version bump for Python 3.14.7 and alignment of uv default to 0.11.8 in local build files, fixing stale defaults that diverged from CI.
Re-trigger cubic
saltas888
approved these changes
Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Bumps the base Python version of the Infrahub container image and the development environment from 3.14.3 → 3.14.7 — the latest 3.14 patch release (3.14.8 does not exist on python.org or Docker Hub).
development/DockerfileARG PYTHON_VER3.14.3→3.14.7(feeds both thebaseandbackendstages).devcontainer/DockerfileFROM python:3.14.3→3.14.7.github/workflows/define-versions.ymlPYTHON_VERSION3.14.3→3.14.7tasks/shared.pyPYTHON_VERdefault3.13→3.14.7.devcontainer/DockerfileARG UV_VER0.9.9→0.11.8development/docker-compose.ymlUV_VER: ${UV_VERSION:-0.9.9}→:-0.11.8(both build sites)Notable details
Beyond the version bump itself, two local build defaults had drifted away from what CI already uses. Both were invisible in CI and only affected local/devcontainer builds:
tasks/shared.pydefaultedPYTHON_VERto3.13, and it wins over the DockerfileARGbecausetasks/container_ops.pypasses it as--build-arg PYTHON_VER=. So every localinvoke dev.buildwas building onpython:3.13-slimwhile CI built on 3.14.x — local and CI images were on different Python minor versions.UV_VERdefaulted to0.9.9in the compose file and devcontainer. CI exportsUV_VERSIONas a job-level env (ci.yml,ci-docker-image.yml,version-upgrade.yml), so the fallback never fired there — but local and devcontainer builds silently installed uv 0.9.9 instead of the pinned 0.11.8.uv is aligned to the repo's canonical
0.11.8fromdefine-versions.ymlrather than bumped. Worth noting for a follow-up: uv's latest is0.12.5, so0.11.8is itself a few minors behind.Deliberately left alone: the CI test matrices (
3.12/3.13/3.14) andrequires-python = ">=3.12,<3.15"express the supported range, not the base version;[tool.ty.environment] python-version = "3.12"type-checks against the minimum supported version.Testing performed
python:3.14.7-slimpulls and reportsPython 3.14.7 (main, Aug 5 2026) [GCC 14.2.0].builderstage builds clean withPYTHON_VER=3.14.7 UV_VER=0.11.8; the resulting venv runs 3.14.7 with 170 distributions andimport infrahubsucceeds.docker compose configacross the full dev file set withUV_VERSIONunset (the previously-broken local case): both build sites now resolveUV_VER: 0.11.8.https://astral.sh/uv/0.11.8/install.shresolves and pinsAPP_VERSION="0.11.8".uv lock --checkpasses unchanged — 3.14.7 sits insiderequires-python, and a patch bump cannot shift resolution (wheels arecp314-tagged).uv run invoke format,main.lint,ruff check . --exclude python_sdk,yamllint -s .github/ development/,invoke docs.lint, andinvoke docs.validateall pass;docs.validateregenerated nothing, confirming no generated file is stale.Backend unit tests were not run: the diff touches no backend source (only Dockerfiles, compose/workflow YAML, and
tasks/shared.py, which the unit suite does not cover).