Guide for maintainers releasing new versions.
# Update version in deno.json manually
# Then create and push tag
git tag -a v0.2.0 -m "Release v0.2.0
- Feature highlights
- Bug fixes
- Breaking changes (if any)"
git push origin main
git push origin v0.2.0The workflow triggers on tags and automatically:
- Compiles binaries for macOS (arm64/x86_64) and Linux
- Calculates SHA256 checksums
- Creates GitHub release with binaries
- Generates release notes
- Updates
Formula/fluent-toolkit.rbwith new version and checksums - Commits and pushes formula changes
Check progress at: https://github.com/spantree/fluent-toolkit/actions
Or use gh CLI:
gh run watchbrew update
brew upgrade fluent-toolkit
# Verify
ftk --versionFor local testing before pushing a tag:
./scripts/release.sh 0.2.0This locally:
- Updates version in deno.json
- Compiles binaries
- Calculates checksums
Use this to verify builds work before creating the actual release tag. The GitHub Actions workflow will handle the full release process when you push the tag.
Check logs:
gh run view --logCommon issues:
- Type errors: Run
deno check src/main.tslocally - Compilation errors: Test
deno task compile:all - Formula update failed: Check GitHub Actions logs for git push errors
- Version updated in
deno.json - Tag created and pushed
- GitHub Actions completed successfully (includes automatic formula update)
- Installation tested locally
- Release notes reviewed
All commits must follow Conventional Commits:
type(scope): subject max 50 chars
Body wrapped at 72 characters.
Examples:
feat(registry): add new MCP serverfix(cli): handle missing config gracefullychore(formula): update checksums for v0.2.0docs: update installation instructions
See CLAUDE.md for full details.