From a14f14db2774d508026c745646aa0db8fd71f2d1 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Sat, 29 Nov 2025 23:57:52 +0000 Subject: [PATCH] ci: skip creating GitHub Release if it already exists (prevent immutable-release error) --- .github/workflows/auto-versioning.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/auto-versioning.yml b/.github/workflows/auto-versioning.yml index 030b62c1..1bb8dce4 100644 --- a/.github/workflows/auto-versioning.yml +++ b/.github/workflows/auto-versioning.yml @@ -62,8 +62,22 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Check for existing GitHub Release + id: check_release + run: | + TAG=${{ steps.create_tag.outputs.tag }} + echo "Checking for release for tag: ${TAG}" + STATUS=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/tags/${TAG}") || true + if [ "${STATUS}" = "200" ]; then + echo "exists=true" >> $GITHUB_OUTPUT + else + echo "exists=false" >> $GITHUB_OUTPUT + fi + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create GitHub Release (tag-only, no workspace changes) - if: ${{ steps.semver.outputs.changed }} + if: ${{ steps.semver.outputs.changed && steps.check_release.outputs.exists == 'false' }} uses: softprops/action-gh-release@v1 with: tag_name: ${{ steps.create_tag.outputs.tag }}