Repository navigation
fix(release): annotate version tag + correct release push instructions - #1517
Merged
Merged
Conversation
- set-version: create the release tag with `git tag -a -m` instead of a
lightweight `git tag`, which fails ("no tag message?") when a contributor has
tag.forceSignAnnotated / required-annotation set globally — it silently broke
the v0.6.107 tag step.
- CONTRIBUTING: replace `git push origin main --tags` (pushes every local tag →
whole push rejected on any pre-existing collision) with pushing the specific
tag, and document the monotonicity guard (stale higher tag blocks tagging).
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
miga-heygen
approved these changes
Jun 16, 2026
miga-heygen
left a comment
Contributor
There was a problem hiding this comment.
Approve. Clean, well-scoped fix for the v0.6.107 tag failure.
Switching from lightweight to annotated tags (git tag -a -m) is the right call — it satisfies tag.forceSignAnnotated gitconfig without breaking any other configuration. The execFileSync array form prevents shell injection, and the -m flag avoids triggering an editor prompt.
The CONTRIBUTING.md updates are a nice bonus — splitting git push origin main --tags into two separate pushes prevents the stale-tag-collision rejection, and the monotonicity guard + recovery steps documentation will save someone's afternoon.
Two nits (non-blocking):
- No test asserts the tag command uses
-a -mflags — a mock-based test on the argument vector would prevent regression if someone simplifies back to a lightweight tag. - The example version in CONTRIBUTING.md (
v0.2.0) is far behind the actual current version (~0.6.107) — pre-existing, but worth a cleanup.
— Miga
vanceingalls
added a commit
that referenced
this pull request
Jun 17, 2026
set-version's stable-release next-steps printed `git push origin main --tags`, which pushes every local tag and fails the whole push on any pre-existing tag (it broke the v0.6.107 release). #1517 fixed CONTRIBUTING.md + annotated the tag but missed this console message. Now prints `git push origin main` + `git push origin v<version>`, matching the pre-release branch. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
vanceingalls
added a commit
that referenced
this pull request
Jun 17, 2026
set-version's stable-release next-steps printed `git push origin main --tags`, which pushes every local tag and fails the whole push on any pre-existing tag (it broke the v0.6.107 release). #1517 fixed CONTRIBUTING.md + annotated the tag but missed this console message. Now prints `git push origin main` + `git push origin v<version>`, matching the pre-release branch. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
vanceingalls
added a commit
that referenced
this pull request
Jun 17, 2026
…1521) set-version's stable-release next-steps printed `git push origin main --tags`, which pushes every local tag and fails the whole push on any pre-existing tag (it broke the v0.6.107 release). #1517 fixed CONTRIBUTING.md + annotated the tag but missed this console message. Now prints `git push origin main` + `git push origin v<version>`, matching the pre-release branch. Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
dahans-msft2
pushed a commit
to dahans-msft2/hyperframes
that referenced
this pull request
Aug 6, 2026
heygen-com#1517) - set-version: create the release tag with `git tag -a -m` instead of a lightweight `git tag`, which fails ("no tag message?") when a contributor has tag.forceSignAnnotated / required-annotation set globally — it silently broke the v0.6.107 tag step. - CONTRIBUTING: replace `git push origin main --tags` (pushes every local tag → whole push rejected on any pre-existing collision) with pushing the specific tag, and document the monotonicity guard (stale higher tag blocks tagging). Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
dahans-msft2
pushed a commit
to dahans-msft2/hyperframes
that referenced
this pull request
Aug 6, 2026
…eygen-com#1521) set-version's stable-release next-steps printed `git push origin main --tags`, which pushes every local tag and fails the whole push on any pre-existing tag (it broke the v0.6.107 release). heygen-com#1517 fixed CONTRIBUTING.md + annotated the tag but missed this console message. Now prints `git push origin main` + `git push origin v<version>`, matching the pre-release branch. Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
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.
What
Two release-flow fixes surfaced while cutting v0.6.107.
set-versioncreates an annotated tag (git tag -a -m) instead of a lightweightgit tag, which fails withfatal: no tag message?when a contributor hastag.forceSignAnnotated(or equivalent) set globally — it silently broke the v0.6.107 tag step (release commit landed, tag didn't).git push origin main --tags(pushes every local tag → whole push rejected on any pre-existing collision). Now: push the release commit, then the specific tag. Also documents the monotonicity guard (a stale higher semver tag blocks tagging because it would hijacknpx skills-style version resolution).Verify
oxlintclean ·scripts/set-version.test.ts14/14.🤖 Generated with Claude Code