Releases

Balli releases are versioned Python packages and matching GitHub releases.

Automation

Pushing a vX.Y.Z tag runs the Release workflow:

  • build source and wheel distributions
  • publish to PyPI using trusted publishing
  • skip already-published files on rerun
  • create a GitHub release
  • generate release notes
  • attach the built distribution artifacts

Release notes should still be curated in CHANGELOG.md before the tag. GitHub generated notes are useful for PR links and artifact discoverability; the changelog remains the human-maintained summary.

Verification Commands

python -m venv /tmp/balli-release-check
/tmp/balli-release-check/bin/python -m pip install --upgrade pip
/tmp/balli-release-check/bin/python -m pip install balli
/tmp/balli-release-check/bin/python -m pip check
/tmp/balli-release-check/bin/basilisp run -c "(require '[balli.core :as b]) (println b/version)"

For source releases:

scripts/release_check.sh

The smaller clone-friendly check is:

scripts/user_suite.sh