kitup Release
Use this only inside /Users/x/git/samzong/kitup or the upstream kitup repository.
Release Contract
Do not publish from a pull request. Do not tag the release branch.
The maintainer-owned flow is:
- Start from a clean, up-to-date
main. - Run one release prep command:
make release-patch
make release-minor
make release-major
- Let the command create
release/vX.Y.Z, update versions, runmake check, and commitchore: prepare vX.Y.Z release. - Ask the maintainer to open and merge the release PR manually.
- After merge, the maintainer tags
mainmanually:
git checkout main
git pull --ff-only
git tag vX.Y.Z
git push origin vX.Y.Z
Version Surfaces
Release prep must keep these in sync:
ts/package.jsonpython/pyproject.tomlpython/uv.lockexamples/python/uv.lockrust/Cargo.tomlrust/Cargo.lockexamples/rust/Cargo.lockgo-cobra/go.mod
Automation
The root vX.Y.Z tag triggers .github/workflows/release.yml. The workflow runs make check, verifies package versions, publishes npm, PyPI, and crates.io packages, creates go/vX.Y.Z and go-cobra/vX.Y.Z, creates GitHub Release notes, and runs scripts/smoke-release.sh X.Y.Z.
If a registry already accepted a version, do not delete and recreate tags without an explicit recovery plan.