fix: dereference annotated tag to its commit before the push comparison #96

Merged
lars merged 1 commits from ci/fix-annotated-tag-push-check into master 2026-09-04 08:41:57 +02:00
Owner

Summary

  • The release job's tag-push guard compared git rev-parse "$TAG" (an annotated tag object's own SHA) against git 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.
  • Confirmed live: v0.3.19's release commit landed on master, but the v0.3.19 tag never reached the remote.
  • Fix: dereference with $TAG^{commit} before comparing.

Test plan

  • Merge, then confirm the next merge-to-master release job pushes both the commit and its tag in one atomic push
  • Manually push the missing v0.3.19 tag in the meantime so this release still gets built/published

🤖 Generated with Claude Code

https://claude.ai/code/session_01NnotyatakKNS4NLjDbfYw1

## Summary - The release job's tag-push guard compared `git rev-parse "$TAG"` (an annotated tag object's own SHA) against `git 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. - Confirmed live: v0.3.19's release commit landed on master, but the `v0.3.19` tag never reached the remote. - Fix: dereference with `$TAG^{commit}` before comparing. ## Test plan - [x] Merge, then confirm the next merge-to-master release job pushes both the commit and its tag in one atomic push - [x] Manually push the missing `v0.3.19` tag in the meantime so this release still gets built/published 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01NnotyatakKNS4NLjDbfYw1
lars added 1 commit 2026-09-04 08:36:33 +02:00
fix: dereference annotated tag to its commit before the push comparison
CI / Sync project version with tag (hand-pushed tags only) (pull_request) Has been skipped
CI / Publish package to Gitea package registry (pull_request) Has been skipped
CI / Type check (ty) (pull_request) Successful in 35s
CI / Format (ruff format) (pull_request) Successful in 36s
CI / Lint (ruff check) (pull_request) Successful in 39s
CI / Tests (pull_request) Successful in 3m26s
CI / Release (bump, changelog, badges, tag) on merge to master (pull_request) Has been skipped
b04e7be146
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
lars merged commit 085b69081b into master 2026-09-04 08:41:57 +02:00
lars deleted branch ci/fix-annotated-tag-push-check 2026-09-04 08:41:58 +02:00
Sign in to join this conversation.