From 5a53a3bb36a85a2e8c647b6762b56fbc64912214 Mon Sep 17 00:00:00 2001 From: overtrue Date: Tue, 28 Apr 2026 06:33:37 +0800 Subject: [PATCH] fix(release): upload versioned assets to OSS --- .github/workflows/release.yml | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ebe9f20..a95525f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -404,6 +404,43 @@ jobs: echo "📦 Release assets:" ls -la + - name: Upload release assets to Aliyun OSS + env: + OSS_ACCESS_KEY_ID: ${{ secrets.ALICLOUDOSS_KEY_ID }} + OSS_ACCESS_KEY_SECRET: ${{ secrets.ALICLOUDOSS_KEY_SECRET }} + OSS_REGION: cn-beijing + OSS_ENDPOINT: https://oss-cn-beijing.aliyuncs.com + RELEASE_VERSION: ${{ needs.build-check.outputs.version }} + shell: bash + run: | + if [[ -z "$OSS_ACCESS_KEY_ID" ]]; then + echo "⚠️ OSS credentials not available, skipping release asset OSS upload" + exit 0 + fi + + OSSUTIL_VERSION="2.1.1" + OSSUTIL_ZIP="ossutil-${OSSUTIL_VERSION}-linux-amd64.zip" + OSSUTIL_DIR="ossutil-${OSSUTIL_VERSION}-linux-amd64" + + curl -sL -o "$OSSUTIL_ZIP" "https://gosspublic.alicdn.com/ossutil/v2/${OSSUTIL_VERSION}/${OSSUTIL_ZIP}" + unzip -q "$OSSUTIL_ZIP" + mv "${OSSUTIL_DIR}/ossutil" ./ossutil + rm -rf "$OSSUTIL_DIR" "$OSSUTIL_ZIP" + chmod +x ./ossutil + + OSS_PATH="oss://rustfs-artifacts/artifacts/rustfs-cli/release/${RELEASE_VERSION}/" + + echo "📤 Uploading release assets to $OSS_PATH..." + for file in release-assets/*; do + if [[ -f "$file" ]]; then + echo "Uploading: $file" + ./ossutil cp "$file" "$OSS_PATH" --force + echo "✅ Uploaded: $(basename "$file")" + fi + done + + echo "✅ Release asset OSS upload completed successfully" + - name: Upload to GitHub Release (release event) if: github.event_name == 'release' uses: softprops/action-gh-release@v2