Mahout Release
Usage
/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:
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
Converted and distributed by TomeVault — claim your Tome and manage your conversions.