Skip to content

Use Python 3.12 for the documentation build - #12109

Open
SamuelAdigos wants to merge 1 commit into
testcontainers:mainfrom
SamuelAdigos:fix/docs-netlify-python-runtime
Open

SamuelAdigos wants to merge 1 commit into
testcontainers:mainfrom
SamuelAdigos:fix/docs-netlify-python-runtime

Conversation

@SamuelAdigos

@SamuelAdigos SamuelAdigos commented Oct 13, 2026 •

Copy link
Copy Markdown

Netlify deploy previews have been failing on every pull request since late September 2026 (e.g. #12101, #12106).
The deploy log fails during "Initializing", before the docs are built:

mise ✗ python@3.8.20 failed: No GitHub artifact attestations found for python@3.8.20
mise ERROR Failed to install core:python@3.8: No GitHub artifact attestations found for python@3.8.20
mise ERROR Version: 2026.9.14 linux-x64 (2026-09-25)
Failing build: Failed to install dependencies

The Netlify build image now installs Python with mise, which verifies GitHub artifact attestations for the
python-build-standalone binaries. Python 3.8 (pinned in runtime.txt) is end-of-life and its last build predates
attestations, so it can no longer be installed.

This bumps the documentation Python version to 3.12 in runtime.txt, and, as in the previous bump (75ac1d1),
also in the docs service of docker-compose.yml and in the contributing guide. requirements.txt is unchanged.

Verification

  • The current 3.12 build (cpython-3.12.15+20261009) has GitHub attestations.
  • pip install -r requirements.txt && mkdocs build succeeds with no warnings on Python 3.8, 3.12 and 3.13, and inside
    the python:3.12 image used by docker-compose.yml (same 205 files generated).
  • Output compared with the Python 3.8 build: the only differences come from newer unpinned transitive dependencies
    (Markdown/Pygments): quotes in code blocks are no longer escaped as " (renders identically), and YAML blocks on
    the CI pages now get syntax highlighting.
  • The Netlify deploy preview of this PR should go green.

Summary by CodeRabbit

  • Updates
    • Documentation builds, hosted runtime, and local documentation development now use Python 3.12.

Netlify deploy previews have been failing on every pull request since
late September 2026. The Netlify build image now installs Python with
mise 2026.9.14, which requires GitHub artifact attestations, and the
pinned Python 3.8 (3.8.20) has none:

    mise ERROR Failed to install core:python@3.8: No GitHub artifact
    attestations found for python@3.8.20

Bump the documentation Python version to 3.12 in runtime.txt, the docs
service in docker-compose.yml and the contributing guide.
@SamuelAdigos
SamuelAdigos requested a review from a team as a code owner October 13, 2026 01:21
@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 58966960-4d0b-4c99-a349-a96909774073
📥 Commits

Reviewing files that changed from the base of the PR and between 9bb3c2d and c19eb38.

📒 Files selected for processing (3)
  • docker-compose.yml
  • docs/contributing_docs.md
  • runtime.txt

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.

📝 Walkthrough

Walkthrough

The docs container image and runtime specification now use Python 3.12. The local documentation development prerequisite also requires Python 3.12.0 or higher.

Changes

Python 3.12 documentation runtime

Layer / File(s) Summary
Update documentation Python version
docker-compose.yml, runtime.txt, docs/contributing_docs.md
The docs service image and runtime specification now use Python 3.12. The documented local development prerequisite is now Python 3.12.0 or higher.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Suggested reviewers: eddumelendez

Merge Risk: ⚪ Minimal · up to c19eb

The documentation runtime selections now agree on Python 3.12, with no concrete build incompatibility identified. Netlify’s effective base directory and deployment build were not verified.

Pre-merge checks · Passed 5
Passed Passed checks (5 passed)
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: updating the documentation build to Python 3.12.
Description check Passed The description explains the deployment failure, identifies the Python 3.8 attestation issue, lists the affected files, and documents verification results. It provides sufficient context for the chang…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant