Release¶
The release process is automated via GitHub Actions. It consists of two workflows that handle version bumping, changelog updates, and tag creation.
Prerequisites¶
- The
## [Unreleased]section inCHANGELOG.mdmust contain at least one entry.
Steps¶
- Ensure
CHANGELOG.mdhas the desired entries under## [Unreleased]. - Go to Actions → Prepare Release → Run workflow.
- Select the bump type (
patch,minor, ormajor) and run it. - The workflow creates a
release/vX.Y.Zbranch with:- Updated version in
pyproject.toml - New version section in
CHANGELOG.md(with today's date) - Updated comparison links at the bottom of
CHANGELOG.md - Regenerated
uv.lock
- Updated version in
- Review and merge the generated PR into
main. - On merge, the Tag Release workflow automatically creates and pushes the
vX.Y.Ztag. - The tag push triggers the existing release pipelines:
- PyPI publishing (with Sigstore signing)
- GitHub Release creation (with changelog body)
- Docker Hub image build and push
- Documentation deployment via mike