Skip to content

ci: run lint, mypy and tests on Python 3.12 to 3.14 - #285

Merged
felipefreitag merged 1 commit into
mainfrom
chore/ci-matrix-314
Sep 15, 2026
Merged

felipefreitag merged 1 commit into
mainfrom
chore/ci-matrix-314

Conversation

@felipefreitag

@felipefreitag felipefreitag commented Sep 15, 2026

Copy link
Copy Markdown
Member

Maintainers now learn about a Python 3.14 break while a pull request is in review, not after the release tag is pushed.

Before, pull requests ran lint, mypy and tests on Python 3.8 to 3.11 only, while the Release workflow runs the same checks on 3.14. A break specific to 3.14 passed every review and failed on the tag. That is what happened to v2.45.1, which needed a fix pull request and a second tag.

Now every pull request also runs the checks on 3.12, 3.13 and 3.14, the same interpreter the release uses. Supported versions do not change. 3.8 to 3.11 stay in the matrix, and the package metadata is untouched.

How to reach it. Open any pull request and look at the checks. Each of the two jobs lists seven Python versions.

Not covered. The classifiers in setup.py still stop at 3.11, so PyPI does not yet advertise 3.12 to 3.14. Adding them is a separate, deliberate decision.


Summary by cubic

Runs lint, mypy, and tests on Python 3.12 to 3.14 in every pull request so release-only breakage is caught during review.

Before, PRs only ran those checks on Python 3.8 to 3.11, while the release workflow used 3.14. A 3.14-specific break could pass review and then fail on the tag. The CI matrix now includes 3.12, 3.13, and 3.14 as well. The package's supported Python versions don't change, and setup.py classifiers still stop at 3.11.

Written for commit fec3aa4. Summary will update on new commits.

Review in cubic

The release workflow runs its checks on Python 3.14, but pull requests
only ran them on 3.8 to 3.11. A break specific to 3.14 therefore passed
review and failed on the tag, as the flake8 crash did for v2.45.1.
The matrix now covers the release interpreter.

@klotty klotty left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Auto-approved: Expands CI test matrix to include Python 3.12 through 3.14 to match the release workflow.

Re-trigger cubic

@felipefreitag
felipefreitag merged commit c4e18ac into main Sep 15, 2026
32 checks passed
@felipefreitag
felipefreitag deleted the chore/ci-matrix-314 branch September 15, 2026 21:02
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