From 633f3ff5881f6b15a960bea2507c726b6f64505d Mon Sep 17 00:00:00 2001 From: sunny-335 Date: Thu, 18 Jun 2026 22:56:35 +0800 Subject: [PATCH] fix: CD pre-release-cleanup fails when no assets exist --- .github/workflows/cd.yaml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index e08aecd..273d81a 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -15,11 +15,16 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | TAG_NAME="${{ github.event.release.tag_name }}" - # List all existing assets and delete them - gh release view "$TAG_NAME" --json assets --jq '.assets[].name' 2>/dev/null | while read -r filename; do - echo "Deleting existing asset: $filename" - gh release delete-asset "$TAG_NAME" "$filename" --yes 2>/dev/null || true - done + # Capture asset list first to avoid pipefail issues + ASSETS=$(gh release view "$TAG_NAME" --json assets --jq '.assets[].name' 2>/dev/null || true) + if [ -n "$ASSETS" ]; then + echo "$ASSETS" | while read -r filename; do + echo "Deleting existing asset: $filename" + gh release delete-asset "$TAG_NAME" "$filename" --yes 2>/dev/null || true + done + else + echo "No existing assets to delete" + fi shell: bash cd: