This document describes how we handle versioning and publishing new releases of the Hiero Python SDK.
We use Semantic Versioning for this project:
MAJOR.MINOR.PATCH
- MAJOR: Breaking changes
- MINOR: Backward-compatible new features
- PATCH: Bug fixes and other minor changes
-
Update the Version Decide whether the changes are major, minor, or patch increments.
-
Run Tests
- Ensure all tests pass locally (run
pytest). - Confirm CI passes (integration tests, etc.).
- Ensure all tests pass locally (run
-
Tag the Release Once the release changes are merged, create and push a git tag that matches the publish workflow trigger (
v*.*.*):git tag -a v0.2.0 -m "Release 0.2.0" git push origin v0.2.0 -
Monitor the Publish Workflow
- The
.github/workflows/publish.ymlworkflow runs automatically when the tag is pushed. - The workflow builds the source distribution and wheel, generates protobufs before packaging, signs the release artifacts with Sigstore, publishes the package to PyPI, and creates or updates the GitHub release.
- The
-
Verify Published Artifacts
- Confirm the new version is available on PyPI.
- Confirm the GitHub release contains the wheel, source distribution, and matching
.sigstore.jsonbundles. - If release provenance needs to be audited, use the Sigstore verification materials attached to the GitHub release.