CI: make the tag step idempotent on force rebuilds
Force-rebuilding an already-published version made the final tag push fail
("tag already exists"), turning an otherwise successful run red. Skip
tagging when the tag already exists on the remote.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -142,5 +142,10 @@ jobs:
|
||||
TOKEN: ${{ secrets.PUBLISH_TOKEN != '' && secrets.PUBLISH_TOKEN || secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
AUTH_URL="$(echo "${{ github.server_url }}" | sed "s#://#://${{ github.actor }}:${TOKEN}@#")/${{ github.repository }}.git"
|
||||
git tag "v${{ steps.ver.outputs.version }}"
|
||||
git push "$AUTH_URL" "v${{ steps.ver.outputs.version }}"
|
||||
TAG="v${{ steps.ver.outputs.version }}"
|
||||
if git ls-remote --tags "$AUTH_URL" "refs/tags/$TAG" | grep -q .; then
|
||||
echo "Tag $TAG already exists (force rebuild) - leaving it in place."
|
||||
else
|
||||
git tag "$TAG"
|
||||
git push "$AUTH_URL" "$TAG"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user