release-flow
Mole CLI Release Flow
Tag-driven flow. The release.yml workflow watches 'V*' tag pushes (capital V), builds amd64 and arm64 binaries on macOS, generates SHA256SUMS, attaches build provenance, creates the GitHub Release without notes, then opens a Homebrew core PR.
Distribution channels
| Channel | What ships | Trigger | Automation |
|---|---|---|---|
Nightly (mo update --nightly) |
main HEAD via install.sh |
Any commit pushed to main |
Automatic; no tag or release involved |
| GitHub stable release | amd64/arm64 binaries + SHA256SUMS |
Push a capital-V tag |
release.yml builds and creates the release; curated notes are a manual follow-up |
| Homebrew core | Version-bump PR to Homebrew/homebrew-core |
Same V* tag workflow |
Automatic PR; merge timing is upstream's |
| Nix flake | Source-built macOS package from the selected Git ref | main follows development; a release tag pins that release |
Nix manages install, upgrade and removal; no separate registry publish |
At the start of any release-flavored task, restate which channels this run will touch and which it will not, and confirm with the maintainer before acting. Channel scope is specified by the maintainer, never inferred.
Pre-flight checklist
Resolve the latest published stable tag from GitHub before choosing the version or review range. Reconcile handoff claims against the current branch, worktree, and remote SHA; an earlier report of uncommitted work may describe commits that have already landed. Review all changes since that stable tag, not just the final fix batch.