Release preparation and publish workflow: run tests, bump version, tag, push, and create a GitHub release (and update Homebrew formula if present)...
Execute a clean release workflow: verify repo state, run tests, bump versions, tag, push, publish a GitHub release, and update downstream artifacts after the tag exists.
git status -s and git diff should be clean.git remote -v and current branch.gh auth status.git, gh, jq, language runtimes).VERSION, package.json, pyproject.toml, Cargo.toml, go.mod, setup.cfg, setup.py, Formula/*.rb (url only), README.md badges.rg -n "version|VERSION|__version__" to find references.make test, npm test, pytest, go test ./..., etc.bin/looper.sh):MAX_ITERATIONS low, run the loop, and verify it exits cleanly.git tag -a vX.Y.Z -m "vX.Y.Z"git push origin <branch>git push origin vX.Y.Zgh release create vX.Y.Z --title "vX.Y.Z" --notes "<summary>"curl -L -s https://github.com/<org>/<repo>/archive/refs/tags/vX.Y.Z.tar.gz | sha256sum | awk '{print $1}'Formula/*.rb with the new url and sha256.Use scripts/release.sh to automate the end-to-end release flow.
Examples:
# Tag, push, release, and update Formula/*.rb
scripts/release.sh --version 0.2.0 --test-cmd "make test"
# Use a custom bump command and a VERSION file
scripts/release.sh --version 1.4.0 --bump-cmd "npm version minor --no-git-tag-version" --version-file VERSION
Notes:
--version-file overwrites files with the raw version string (no leading v).--skip-formula to skip.--dry-run to preview commands without executing.