Skip to content

Modernize CI for Python 3.15 and PyPy 3.12 - #210

Merged
jaypantone merged 2 commits into
developfrom
update-github-actions-tests
Oct 27, 2026
Merged

jaypantone merged 2 commits into
developfrom
update-github-actions-tests

Conversation

@jaypantone

@jaypantone jaypantone commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Make Python 3.15 primary for linting, type checking, packaging, and Linux/macOS/Windows tests. Keep Linux compatibility coverage for CPython 3.11–3.14 and PyPy 3.11, and add a required stable PyPy 3.12 job.

Drop CPython and PyPy 3.10 support for the next release: require Python >=3.11, update package classifiers, target Python 3.11 in Black, and document the change. Runtime dependencies are unchanged.

Update checkout and setup-python to v7 in both workflows, add pip caching, cancellation of superseded runs, manual dispatch, read-only workflow permissions, a 60-minute job timeout, and weekly Dependabot updates for Actions. Require tox 4, forward pytest arguments, and run pip check/freeze inside test environments. Add pycparser and setuptools only on PyPy to satisfy its bundled cffi/HPy dependencies. Align the Black pre-commit pin with tox and avoid installing the package in the formatting environment.

Validation:

  • Python 3.15: all 555 tests passed.
  • PyPy 3.12: all 555 tests passed.
  • Flake8, mypy, pylint, and Black pass on Python 3.15; actionlint passes.
  • Python 3.15 builds both the wheel and source distribution; twine check passes for both. Built metadata confirms Python >=3.11.
  • Verified that all 13 CI jobs map to tox environments and that runtime dependencies are unchanged.

All 13 jobs in the hosted PR matrix pass, including CPython 3.11–3.15, PyPy 3.11/3.12, and Python 3.15 on Linux, macOS, and Windows.

Require Python 3.11 or newer, retire CPython and PyPy 3.10, and run primary lint, build, and cross-platform jobs on Python 3.15. Add stable PyPy 3.12 coverage, update Actions and Black tooling, and satisfy dependencies of bundled PyPy packages in tox.

@ulfarsson ulfarsson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These are almost exclusively numbered updates on things we are already doing. Looks good.

@ulfarsson

Copy link
Copy Markdown
Member

Maybe the tox lines 59-67 in the readme are a bit too verbose

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jaypantone
jaypantone merged commit e90dff6 into develop Oct 27, 2026
26 checks passed
@jaypantone
jaypantone deleted the update-github-actions-tests branch October 27, 2026 18:03
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