Release workflow¶
Releases are driven by version tags on main. Pushing a tag runs tests, builds the package, publishes to PyPI, and creates a GitHub Release.
Steps¶
- Merge
developintomainwhen the branch is ready and CI is green. - From
main, create and push a tag (replace the version as needed):
-
Wait for GitHub Actions to finish. Then:
-
The package is available on PyPI (e.g.
pip install pystator==0.0.33). - A GitHub Release exists for that tag (with changelog notes when generated by the pipeline).
You normally do not edit pyproject.toml for version: setuptools-scm derives the version from the tag at build time.
Release script¶
To run the scripted pipeline (commit / push / merge / tag):
Verify¶
- Actions: github.com/optophi/pystator/actions
- PyPI: pypi.org/project/pystator/
- Install:
pip install pystator==0.0.33
Notes¶
- Tag format:
vplus semantic version (e.g.v0.0.33). The build strips the leadingvfor the package version where required. - Develop is for integration; main is the release line.