Skip to content

Commit 1125732

Browse files
authored
fix: 修复逻辑漏洞
1 parent 34e6567 commit 1125732

1 file changed

Lines changed: 21 additions & 17 deletions

File tree

.github/workflows/docker_build.yml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff 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 }}

0 commit comments

Comments
 (0)