Release workflow¶
This repository treats GitHub Actions artifacts as the release source of truth.
Local dist/ builds are useful for smoke tests, but should not be uploaded to
PyPI unless a release is intentionally being made without Actions.
One-time rule¶
Use one staging directory per tag:
Do not mix artifacts from different versions in the same directory. The
release-artifacts/ directory is ignored by Git.
Normal release¶
- Update version metadata, changelog, documentation, and PDFs.
- Run the focused checks from
AGENTS.md. - Commit the release changes.
- Tag the commit:
- Wait for the
Build wheelsGitHub Actions run for that tag to pass. - Download the official artifacts:
- Check the downloaded artifacts:
- Upload the checked artifacts to PyPI:
- Create a draft GitHub Release:
- Confirm PyPI links and publish the GitHub Release draft.
Current v0.2.3 state¶
The tag v0.2.3 has been pushed and the GitHub Actions wheel build passed.
The official artifacts were downloaded to:
They passed:
PyPI upload still needs credentials or Trusted Publishing.