Releasing¶
Package name¶
The configured PyPI distribution name is RSRF. Verify availability before the first publish if the project has not yet been registered on PyPI.
Build locally¶
python3 -m pip install -e ".[dev]"
python3 -m build
python3 -m twine check dist/*
GitHub Actions¶
This repo includes three workflows:
ci.yml: lint checks (ruff), test matrix (Python 3.9–3.14), and packaging smoke checkdocs.yml: build and deploy MkDocs to GitHub Pagesrelease-package.yml: build and publish to PyPI, then publish the runtime data bundle to the GitHub Release
Trusted publishing setup¶
Before the first PyPI release:
- Create the
RSRFproject on PyPI if needed. - Add this GitHub repository as a trusted publisher in PyPI.
- Ensure GitHub Pages is configured to deploy from GitHub Actions.
Release flow¶
Recommended release sequence:
- Merge verified changes to
main. - Wait for the
CIworkflow onmainto finish successfully. - Create and push a version tag such as
v0.3.0. - Let
release-package.ymlstart automatically from that tag push and publish the package. - The same workflow uploads
rsrf-root-vX.Y.Z.tar.gzto the GitHub Release so installed-package users can bootstrap the matching runtime data snapshot automatically.
If you prefer a dry run first, use the workflow's manual dispatch option.