diff --git a/cleanup-images.sh b/cleanup-images.sh index 4ef45ee..435ba0e 100644 --- a/cleanup-images.sh +++ b/cleanup-images.sh @@ -66,6 +66,7 @@ TO_DELETE=$(echo "$SORTED_VERSIONS" | jq -c ".[$KEEP_COUNT:][]") # 初始化刪除計數器 DELETED_COUNT=0 +FAILED_COUNT=0 # 處理每個要刪除的版本 while IFS= read -r version; do @@ -99,10 +100,18 @@ while IFS= read -r version; do DELETED_COUNT=$((DELETED_COUNT + 1)) else echo "❌ 刪除失敗映像版本: $VERSION_NAME (ID: $VERSION_ID), HTTP狀態: $DELETE_HTTP_STATUS" + FAILED_COUNT=$((FAILED_COUNT + 1)) fi fi done <<< "$TO_DELETE" +# 檢查是否有刪除失敗的情況 +if [[ $FAILED_COUNT -gt 0 ]]; then + echo "" + echo "❌ 錯誤:有 $FAILED_COUNT 個映像版本刪除失敗" + exit 1 +fi + # 輸出最終結果 echo "" echo "=========================================" diff --git a/cleanup-releases.sh b/cleanup-releases.sh index 50b4729..5eab579 100644 --- a/cleanup-releases.sh +++ b/cleanup-releases.sh @@ -89,10 +89,18 @@ echo "$TO_DELETE" | jq -c '.[]' | while IFS= read -r release; do echo "✅ 成功刪除發佈: $RELEASE_TAG ($RELEASE_NAME)" else echo "❌ 刪除失敗發佈: $RELEASE_TAG ($RELEASE_NAME), HTTP 狀態: $HTTP_STATUS" + FAILED_COUNT=$((FAILED_COUNT + 1)) fi fi done +# 檢查是否有刪除失敗的情況 +if [[ $FAILED_COUNT -gt 0 ]]; then + echo "" + echo "❌ 錯誤:有 $FAILED_COUNT 個發佈刪除失敗" + exit 1 +fi + # 輸出最終結果 if [[ "$DRY_RUN" == "true" ]]; then echo ""