Skip to main content

Publish a release

The root VERSION file is the public package version. Publish Release requires the full SHA of the version pull request’s merge commit on main. It checks Main CI and Security for that exact commit. The other workspace projects stay at 0.0.0.

Checklist

  1. Run Actions → Prepare Release on main, then merge its pull request
  2. Wait for Main CI and Security to pass
  3. Run Actions → Publish Release on main with the version PR’s merge commit SHA; wait for it to finish
  4. Check the GitHub release and its Compose file, PyPI package, and GHCR version and latest tags
Prepare Release opens a pull request that changes VERSION. Publish Release confirms that the supplied commit changed VERSION and has not already been tagged. It uses the validated Python and container artifacts from that commit’s successful Main CI run; it does not rebuild them. It checks installation and live providers before creating the tag, then publishes and verifies the package and image. The release environment supplies provider credentials and RELEASE_GITHUB_TOKEN; PyPI uses its trusted publisher for release.yml.

If a release fails