Release¶
Releases are driven by the version in pyproject.toml. Bumping it and merging to
main is the whole release: CI runs the gate, and if v<version> is not yet a tag,
the workflow builds, publishes to PyPI, tags the commit, and cuts a GitHub release.
An unchanged version is a no-op, so ordinary commits never publish.
Checklist¶
- Bump
versioninpyproject.toml. - Update
CHANGELOG.md. - Run the local checks.
- Merge to
main..github/workflows/publish.ymlbuilds, publishes, and tags. - Verify the package page and docs site.
Commands¶
- Lint:
chefe run lint - Typecheck:
chefe run typecheck - Test:
chefe run test - Build:
python -m build
One-time setup¶
Register a PyPI trusted publisher for
this repository against the workflow file publish.yml and environment pypi. The
file stays named publish.yml so the publisher binding keeps matching after edits.