Releasing¶
Version Policy¶
gp-sphinx is pre-1.0. Minor version bumps may include breaking changes.
All publishable workspace packages use a shared lockstep version. The
root gp-sphinx-workspace package stays a bootstrap package, but its
version should stay aligned with the publishable package set.
Release Process¶
uv handles virtualenv creation, package requirements, versioning, building, and publishing. There is no setup.py or requirements files.
Update
CHANGESwith release notesBump the shared version in the root
pyproject.tomland in every package underpackages/*/pyproject.tomlUpdate any exposed
__version__values so they match the shared package versionKeep first-party workspace dependencies pinned exactly to the shared version
Commit with the repo-wide release format:
$ git commit -m 'Tag v0.0.1a7'
The release manager creates and pushes the tag after review. Tags trigger publishing, so automated agents must leave tag creation to the maintainer running the release.
Push:
$ git push
GitHub Actions validates the shared version, builds all publishable packages, smoke-tests the built artifacts, and publishes them to PyPI