File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -115,27 +115,31 @@ jobs:
115115 AMD64_FILE=${{ env.IMAGE_NAME }}_${{ matrix.tag_suffix }}_amd64.tar.gz
116116 ARM64_FILE=${{ env.IMAGE_NAME }}_${{ matrix.tag_suffix }}_arm64.tar.gz
117117
118- # Delete tag and release if already exist
119- if gh release view "$TAG" >/dev/null 2>&1; then
120- echo "Release $TAG already exists. Deleting it..."
121- gh release delete "$TAG" -y
122- git push origin --delete "$TAG" || true
123- fi
124-
125- # Create tag
126- git tag "$TAG"
127- git push origin "$TAG"
128-
129- # Create release with both architecture files
130- gh release create "$TAG" "$AMD64_FILE" "$ARM64_FILE" \
131- --title "$TAG" \
132- --notes "Docker images for $TAG system.
118+ if ! gh release view "$TAG" >/dev/null 2>&1; then
119+ git tag "$TAG"
120+ git push origin "$TAG"
121+ gh release create "$TAG" \
122+ --title "$TAG" \
123+ --notes "Docker images for $TAG system.
133124
134125 Available architectures:
135126 - AMD64: $AMD64_FILE
136127 - ARM64: $ARM64_FILE" \
137- --prerelease=false \
138- --draft=false
128+ --prerelease=false \
129+ --draft=false
130+ fi
131+
132+ EXISTING_FILES=$(gh release view "$TAG" --json assets --jq '.assets[].name')
133+
134+ for FILE in "$AMD64_FILE" "$ARM64_FILE"; do
135+ if echo "$EXISTING_FILES" | grep -q "^$FILE$"; then
136+ echo "File $FILE already exists in release $TAG. Deleting it..."
137+ gh release delete-asset "$TAG" "$FILE" -y
138+ sleep 12
139+ fi
140+ done
141+
142+ gh release upload "$TAG" "$AMD64_FILE" "$ARM64_FILE"
139143 env :
140144 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
141145 IMAGE_NAME : ${{ env.IMAGE_NAME }}
You can’t perform that action at this time.
0 commit comments