Skip to content

Run on Python 3.15 and test on 3.14 and 3.15 - #719

Open
Mariatta wants to merge 1 commit into
python:mainfrom
Mariatta:python-3.15
Open

Mariatta wants to merge 1 commit into
python:mainfrom
Mariatta:python-3.15

Conversation

@Mariatta

@Mariatta Mariatta commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

The bot runs on a single interpreter, the one in the Dockerfile, so the test matrix only needs the version the image runs on, the previous one as a fallback, and the next one once it exists. Python 3.13 entered security-only mode on 2026-10-01, and 3.11 and 3.12 were already there.

  • Build the image on python:3.15-slim, the current release.
  • Test on 3.14 and 3.15 only. 3.16 gets added once actions/setup-python ships its first alpha.
  • Delete runtime.txt, which only Heroku read. The bot now runs on cabotage, which reads the Procfile.

The test suite passes on 3.14 and 3.15, and the image builds locally.

This deliberately changes the approach from the recent "drop EOL versions" PRs: for a deployed app, versions in security-only mode that the image never runs on add CI time without telling us anything.

The 3.11-slim image also ships an old pip (24.0), which the Docker build job warns about. python:3.15-slim ships pip 26.2.1, one patch behind the current 26.2.2, so the warning goes away with this change.

The bot runs on a single interpreter, the one in the Dockerfile, so the
test matrix only needs the version the image runs on, the previous one
as a fallback, and the next one once it exists. Python 3.13 entered
security-only mode on 2026-10-01 and 3.11 and 3.12 were already there,
so stop testing on them and build the image on 3.15, the current
release. 3.16 joins the matrix once actions/setup-python ships its
first alpha.

runtime.txt was only read by Heroku, which no longer runs the bot.
@codecov

codecov Bot commented Oct 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (13099c0) to head (7189346).

Impacted file tree graph

@@            Coverage Diff            @@
##              main      #719   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           18        18           
  Lines         2182      2182           
  Branches       100       100           
=========================================
  Hits          2182      2182           
Flag Coverage Δ
Python_3.11.17 ?
Python_3.12.15 ?
Python_3.13.16 ?
Python_3.14.8 100.00% <ø> (ø)
Python_3.15.0 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Mariatta
Mariatta marked this pull request as ready for review October 21, 2026 04:46

This branch has not been deployed

No deployments
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.

2 participants