From f15ecbd89bc458f9d3a15b240fc0eefc18691289 Mon Sep 17 00:00:00 2001 From: Eric Sun <141227631+EricSun0218@users.noreply.github.com> Date: Sat, 8 Aug 2026 04:37:03 +0800 Subject: [PATCH] Fix absent release tag detection --- .github/workflows/release.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ab3f90c..cd99b43 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -94,7 +94,10 @@ jobs: set -euo pipefail tag="v${RELEASE_VERSION}" - existing_release="$(gh release view "${tag}" --json isDraft --jq .isDraft 2>/dev/null || true)" + existing_release="" + if resolved_release="$(gh release view "${tag}" --json isDraft --jq .isDraft 2>/dev/null)"; then + existing_release="${resolved_release}" + fi if [[ "${existing_release}" == "false" ]]; then echo "::error::Release ${tag} is already public and cannot be replaced." exit 1 @@ -103,7 +106,10 @@ jobs: gh release delete "${tag}" --yes fi - tag_commit="$(gh api "repos/${GH_REPO}/commits/${tag}" --jq .sha 2>/dev/null || true)" + tag_commit="" + if resolved_commit="$(gh api "repos/${GH_REPO}/commits/${tag}" --jq .sha 2>/dev/null)"; then + tag_commit="${resolved_commit}" + fi release_target=(--target "${SOURCE_COMMIT}") if [[ -n "${tag_commit}" ]]; then if [[ "${tag_commit}" != "${SOURCE_COMMIT}" ]]; then