Release contract
How Tau CLI binaries and source-aligned SDK releases are published
TauGrid uses canonical annotated SemVer tags (vX.Y.Z) and a manually authorized
GitHub Actions workflow. Publishing a release requires a manually authorized
workflow run beyond the tag push itself. A tag push never publishes the GitHub
Release.
Before dispatching the GitHub workflow, release operators publish and verify the coordinated first-party images and charts through the public Azure DevOps pipelines. This is intentionally operator-sequenced: the GitHub workflow does not have external ADO credentials and cannot prove those artifacts are ready.
The workflow:
- Requires a manual dispatch from the existing annotated tag ref.
- Verifies the annotated tag and reviewed
maincommit. - Requires checked-in curated release notes and appends GitHub-generated change attribution, new-contributor recognition, and a full changelog link.
- Runs Go and Python release gates.
- Compares two independent binary builds.
- Builds the Python SDK wheel twice and requires byte-for-byte identical output.
- Publishes raw binaries, the SDK wheel,
install.sh,install.ps1,LICENSE, andSHA256SUMSas new assets, leaving any existing ones untouched. - Verifies every uploaded digest.
- Proves CLI and SDK installation on clean Ubuntu, macOS, and Windows runners.
The Python SDK keeps its own package version, but its source-aligned
tau-*.whl is published in the same GitHub Release as the CLI.
See
cli/RELEASING.md.