Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1.46 KB

File metadata and controls

50 lines (35 loc) · 1.46 KB

Releasing strands-compose

Releases are driven by Conventional Commits and automated via commitizen + GitHub Actions.

Release Flow

# 1. Ensure main is green
uv run just check
uv run just test

# 2. Preview the bump (no changes written)
uv run just release-dry

# 3. Bump version, update CHANGELOG, create tag
uv run just release

# 4. Push to trigger PyPI publish
git push origin main --tags

That's it. The publish.yml workflow builds, publishes to PyPI via Trusted Publishing, and creates a GitHub Release automatically.

How Versioning Works

We follow Semantic Versioning (MAJOR.MINOR.PATCH). Commit messages drive the bump:

Commit prefix Bump Example
fix: patch fix: handle empty tool name
feat: minor feat: add graph orchestration
feat!: / BREAKING CHANGE: major feat!: remove legacy API

Use uv run just commit-files for the interactive commit wizard, or commit manually.

Release Candidates

uv run cz bump --prerelease rc
git push origin main --tags

Just Commands

Command What it does
uv run just release-dry Preview next version + changelog
uv run just release Bump, CHANGELOG, tag
uv run just release-build Build wheel + sdist locally
uv run just commit-files Interactive conventional commit