Goal
Make make github-release refuse to publish a commit that already has a release tag.
Context
scripts/github-release.sh works out the next vX.Y.N from existing tags, so running it twice on the same main commit publishes two releases with identical contents (for example v0.1.1 and v0.1.2). It already checks that the new tag doesn't exist, but not whether HEAD is already released.
A check such as git tag --points-at HEAD filtered to v*.*.* would catch this. It should stop with a clear message for a real release and only warn under DRY_RUN=1, like the script's other check calls.
Acceptance criteria
Goal
Make
make github-releaserefuse to publish a commit that already has a release tag.Context
scripts/github-release.shworks out the nextvX.Y.Nfrom existing tags, so running it twice on the samemaincommit publishes two releases with identical contents (for examplev0.1.1andv0.1.2). It already checks that the new tag doesn't exist, but not whetherHEADis already released.A check such as
git tag --points-at HEADfiltered tov*.*.*would catch this. It should stop with a clear message for a real release and only warn underDRY_RUN=1, like the script's othercheckcalls.Acceptance criteria
HEADstops with a message naming the existing tagDRY_RUN=1warns instead of stopping