Repository navigation
fix(release): annotate the vX.Y.Z tag so tagging survives tag.gpgsign - #16
Merged
Merged
Conversation
`git tag "v$ver"` requested a lightweight tag. With `tag.gpgsign` (or `tag.forceSignAnnotated`) set, git instead makes a signed+annotated tag and demands a message; a non-interactive run gets an empty editor result and aborts with `fatal: no tag message?` (exit 128). The `chore(release)` commit was already made by then, leaving a release commit on main with no matching tag. Pass `-m "Release v$ver"` so the tag is annotated (auto-signs when configured) and the commit + tag are always created together — matching the undo hint, which assumes both exist. Message mirrors the existing v0.5.0 tag. Closes #15 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
📝 Changelog preview (draft)Generated from Conventional Commits. Curate into [Unreleased]Fixed
|
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
release.shcut the version tag withgit tag "v$ver"(lightweight, no message); undertag.gpgsign/tag.forceSignAnnotatedgit forces a signed+annotated tag and aborts non-interactively withfatal: no tag message?, leaving thechore(release)commit onmainwith no matching tag. Passing-mmakes the tag annotated (auto-signs when configured) so the commit and tag are always produced together.Component(s)
release tooling (
scripts/release.sh)Type
Changes
scripts/release.sh:git tag "v$ver"→git tag -m "Release v$ver" "v$ver", with a comment explaining thetag.gpgsignrequirement; message mirrors the existingv0.5.0tagCHANGELOG.md:[Unreleased]→### FixedentryValidation
terraform fmt/validate/tflintpass on the changed components (the gate) — N/A, no Terraform changed; pre-commit hooks pass on the changed filesCHANGELOG.md[Unreleased]updatedReproduction / fix evidence
Before (sandbox,
tag.gpgsign=true, non-interactive):After — patched
release.sh 0.2.0end-to-end in a sandbox withtag.gpgsign=true: exits0, creates thechore(release): v0.2.0commit and an annotatedv0.2.0tag (Release v0.2.0) pointing at that same commit. The pre-push guard (check-release-tag.sh) inspects tag refs only, so it is unaffected by lightweight→annotated.Closes #15
🤖 Generated with Claude Code