fix: dereference annotated tag to its commit before the push comparison #96
Reference in New Issue
Block a user
Delete Branch "ci/fix-annotated-tag-push-check"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
git rev-parse "$TAG"(an annotated tag object's own SHA) againstgit rev-parse HEAD(a commit SHA) — these can never match, so the guard always took the else branch and the release tag was never pushed.v0.3.19tag never reached the remote.$TAG^{commit}before comparing.Test plan
v0.3.19tag in the meantime so this release still gets built/published🤖 Generated with Claude Code
https://claude.ai/code/session_01NnotyatakKNS4NLjDbfYw1
release-commit.sh creates release tags with `git tag -a`, so `git rev-parse "$TAG"` returns the annotated tag object's own SHA, not the commit it points at. Comparing that directly against `git rev-parse HEAD` was therefore always false, so the atomic `git push --atomic origin HEAD:master refs/tags/$TAG` never fired — the release job has been pushing the branch alone and silently dropping every release tag (confirmed: v0.3.19 landed on master but was never pushed as a tag). `^{commit}` dereferences the tag to its target commit so the comparison actually matches. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NnotyatakKNS4NLjDbfYw1