Mahout Release
Usage
code
/mahout-release <qumat_version> <qdp_version>
Example: /mahout-release 0.5.0 0.1.0
Instructions
Refer to dev/release.md for full details. Stop after each phase and confirm with user before proceeding.
Phase 1: RC Preparation
- •Create stable branch from main (e.g.,
v0.5-stable) - •Update versions to RC suffix:
- •
pyproject.toml→version = "<qumat_version>rc1" - •
qdp/Cargo.toml→version = "<qdp_version>-rc1"
- •
- •Build:
bash
uv build cd qdp/qdp-python uv tool run maturin build --release --interpreter python3.10 uv tool run maturin build --release --interpreter python3.11 uv tool run maturin build --release --interpreter python3.12
- •Sign and hash artifacts (GPG + SHA-512)
- •Upload to TestPyPI first, verify install works
- •Upload to PyPI after TestPyPI is confirmed
- •Open testing issue:
./dev/generate-rc-issue.sh <qumat_ver>rc1 <qdp_ver>rc1 "Qumat <qumat_ver>" - •Send RC email using template in
dev/rc-email-template.md
Stop and confirm with user before Phase 2.
Phase 2: Vote
- •Submit source artifacts to ATR
- •Send vote email using template in
dev/rc-email-template.md - •Wait 72 hours for 3 binding +1 votes
Stop and confirm with user before Phase 3.
Phase 3: Final Publication
- •Promote release in ATR
- •Publish final version to TestPyPI, verify, then publish to PyPI
- •Tag release:
git tag -a v<qumat_version> -m "Release <qumat_version>" - •Bump version on
mainto next dev (e.g.,0.6.0) - •Create versioned docs:
cd website && npm run version <qumat_version> - •Announce on
dev@mahout.apache.org