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 }}
|
TOKEN: ${{ secrets.PUBLISH_TOKEN != '' && secrets.PUBLISH_TOKEN || secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
AUTH_URL="$(echo "${{ github.server_url }}" | sed "s#://#://${{ github.actor }}:${TOKEN}@#")/${{ github.repository }}.git"
|
AUTH_URL="$(echo "${{ github.server_url }}" | sed "s#://#://${{ github.actor }}:${TOKEN}@#")/${{ github.repository }}.git"
|
||||||
git tag "v${{ steps.ver.outputs.version }}"
|
TAG="v${{ steps.ver.outputs.version }}"
|
||||||
git push "$AUTH_URL" "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