Skip to content

Update CI Python versions and actions - #49

Merged
kipe merged 7 commits into
mainfrom
ci-updates
Sep 17, 2026
Merged

kipe merged 7 commits into
mainfrom
ci-updates

Conversation

@kipe

@kipe kipe commented Sep 17, 2026

Copy link
Copy Markdown
Owner
  • 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.

- 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.
@kipe kipe self-assigned this Sep 17, 2026
- 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.
@kipe
kipe merged commit 6ed5567 into main Sep 17, 2026
8 checks passed
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.

1 participant