Update CI Python versions and actions - #49
Merged
Merged
Conversation
- Drop Python 3.9 and PyPy 3.9/3.10 from the test matrix - Add PyPy 3.11 coverage - Bump actions/checkout and setup-python from v2 to v7 CI now tests current CPython and PyPy versions and uses maintained GitHub Actions instead of deprecated v2 tags.
- Replace pyproject.toml with PEP 621 and hatchling - Derive version from git tags via uv-dynamic-versioning - Add uv.lock and drop poetry.lock and MANIFEST.in The package version now comes from the GitHub release tag at build time instead of a hardcoded field in pyproject.toml.
- Install via setup-uv and uv sync --group test - Prefix lint and coverage with uv run --group test CI now matches the uv packaging so test extras stay available after sync.
- Replace poetry-publish with uv build and uv publish - Fetch full git history so the release tag is the version A GitHub Release tagged X.Y.Z now drives the PyPI version instead of a number committed in pyproject.toml.
- Rename the test group to dev - Drop --group flags from the test workflow uv includes the dev group in sync and run by default, so CI no longer needs extra group flags.
- Split build and publish so only publish gets id-token - Drop PYPI_TOKEN in favor of GitHub OIDC uv publish now authenticates with PyPI Trusted Publishers instead of a long-lived API token.
- Run type checking only on CPython matrix jobs - Do not install mypy when the interpreter is PyPy mypy depends on librt, which does not support PyPy, so the PyPy job was failing before tests ran.
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.
CI now tests current CPython and PyPy versions and uses maintained GitHub Actions instead of deprecated v2 tags.