ci(release): auto-detect version and chain Homebrew bump - #62
Merged
Conversation
scripts/release.sh now derives the next version from conventional commits
since the last tag (BREAKING CHANGE / feat! → major, feat: → minor,
everything else → patch), so a release is one command:
scripts/release.sh
Explicit flags still work:
- <version> set the version (skip auto-detect)
- --bump {major|minor|patch} force the bump component off the latest tag
- --no-homebrew release only, skip the Homebrew PR step
After the release workflow publishes successfully, the script runs
scripts/bump-homebrew.sh to open the Homebrew formula bump PR by default
(draft releases are detected and a manual re-run is suggested). Draft
handling prevents stale-PR footguns.
Also:
- docs/release section rewritten in AGENTS.md and README.md to match
- shellcheck scripts/release.sh added to the lint floor (bump-homebrew.sh
and install.sh carry pre-existing warnings tracked separately)
Collaborator
Author
|
/oc please review this PR and approve if you find it ready to merge |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scripts/release.shnow auto-detects the next version from conventional commits since the last tag (BREAKING CHANGE/feat!→ major,feat:→ minor, everything else → patch) and asks fory/Nconfirm. A release becomes one command:scripts/release.sh.--bump {major|minor|patch}, explicit<version>, and--no-homebrewflags cover the explicit-override cases.releaseworkflow publishes successfully, the script runsscripts/bump-homebrew.shto open the Homebrew formula bump PR. Draft releases are detected and skipped with a clear message + manual rerun hint.shellcheck scripts/release.shadded to the lint floor (the other shell files have pre-existing warnings tracked separately).Notes
auto_detect_bumpandsemver_incpass — covers feat/fix/feat!/feat(scope)!/BREAKING CHANGE footer/perf-only/docs-only/non-conventional/no-commits + semver carry at boundaries.--dry-runsmoke tests against the current tree verified: auto-detect →v0.13.1 (no commits since v0.13.0),--bump minor→v0.14.0,--bump major→v1.0.0, explicitv2.0.0 --no-homebrewall behave correctly.scripts/bump-homebrew.shis untouched and still runs standalone for re-bumps.vX.Y.Ztags the script errors out and asks for an explicit<version>.