Skip to content

Commit edcd67d

Browse files
committed
Upload to cloudflare
1 parent 8458b63 commit edcd67d

1 file changed

Lines changed: 32 additions & 76 deletions

File tree

.github/workflows/release.yml

Lines changed: 32 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -240,76 +240,38 @@ jobs:
240240
path: artifacts/*
241241
if-no-files-found: error
242242

243-
# Upload to Aliyun OSS
244-
- name: Upload to Aliyun OSS
243+
# Upload to Cloudflare R2
244+
- name: Upload to Cloudflare R2
245245
if: needs.build-check.outputs.is_release == 'true'
246246
env:
247-
OSS_ACCESS_KEY_ID: ${{ secrets.ALICLOUDOSS_KEY_ID }}
248-
OSS_ACCESS_KEY_SECRET: ${{ secrets.ALICLOUDOSS_KEY_SECRET }}
249-
OSS_REGION: cn-beijing
250-
OSS_ENDPOINT: https://oss-cn-beijing.aliyuncs.com
247+
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
248+
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
249+
R2_ENDPOINT: ${{ secrets.R2_ENDPOINT }}
250+
R2_BUCKET: ${{ secrets.R2_BUCKET }}
251251
shell: bash
252252
run: |
253-
if [[ -z "$OSS_ACCESS_KEY_ID" ]]; then
254-
echo "⚠️ OSS credentials not available, skipping OSS upload"
253+
if [[ -z "$R2_ACCESS_KEY_ID" || -z "$R2_SECRET_ACCESS_KEY" || -z "$R2_ENDPOINT" || -z "$R2_BUCKET" ]]; then
254+
echo "⚠️ R2 credentials or endpoint missing, skipping artifact upload"
255255
exit 0
256256
fi
257257
258-
# Install ossutil
259-
OSSUTIL_VERSION="2.1.1"
260-
case "${{ matrix.os_name }}" in
261-
macos)
262-
if [[ "$(uname -m)" == "arm64" ]]; then
263-
ARCH="arm64"
264-
else
265-
ARCH="amd64"
266-
fi
267-
OSSUTIL_ZIP="ossutil-${OSSUTIL_VERSION}-mac-${ARCH}.zip"
268-
OSSUTIL_DIR="ossutil-${OSSUTIL_VERSION}-mac-${ARCH}"
269-
270-
curl -sL -o "$OSSUTIL_ZIP" "https://gosspublic.alicdn.com/ossutil/v2/${OSSUTIL_VERSION}/${OSSUTIL_ZIP}"
271-
unzip -q "$OSSUTIL_ZIP"
272-
mv "${OSSUTIL_DIR}/ossutil" /usr/local/bin/
273-
rm -rf "$OSSUTIL_DIR" "$OSSUTIL_ZIP"
274-
chmod +x /usr/local/bin/ossutil
275-
OSSUTIL_BIN=ossutil
276-
;;
277-
linux)
278-
OSSUTIL_ZIP="ossutil-${OSSUTIL_VERSION}-linux-amd64.zip"
279-
OSSUTIL_DIR="ossutil-${OSSUTIL_VERSION}-linux-amd64"
280-
281-
curl -sL -o "$OSSUTIL_ZIP" "https://gosspublic.alicdn.com/ossutil/v2/${OSSUTIL_VERSION}/${OSSUTIL_ZIP}"
282-
unzip -q "$OSSUTIL_ZIP"
283-
mv "${OSSUTIL_DIR}/ossutil" ./ossutil
284-
rm -rf "$OSSUTIL_DIR" "$OSSUTIL_ZIP"
285-
chmod +x ./ossutil
286-
OSSUTIL_BIN=./ossutil
287-
;;
288-
windows)
289-
OSSUTIL_ZIP="ossutil-${OSSUTIL_VERSION}-windows-amd64.zip"
290-
OSSUTIL_DIR="ossutil-${OSSUTIL_VERSION}-windows-amd64"
291-
292-
curl -sL -o "$OSSUTIL_ZIP" "https://gosspublic.alicdn.com/ossutil/v2/${OSSUTIL_VERSION}/${OSSUTIL_ZIP}"
293-
unzip -q "$OSSUTIL_ZIP"
294-
mv "${OSSUTIL_DIR}/ossutil.exe" ./ossutil.exe
295-
rm -rf "$OSSUTIL_DIR" "$OSSUTIL_ZIP"
296-
OSSUTIL_BIN=./ossutil.exe
297-
;;
298-
esac
299-
300-
OSS_PATH="oss://rustfs-artifacts/artifacts/rustfs-cli/release/"
301-
302-
# Upload all artifacts to OSS
303-
echo "📤 Uploading artifacts to $OSS_PATH..."
258+
export AWS_ACCESS_KEY_ID="$R2_ACCESS_KEY_ID"
259+
export AWS_SECRET_ACCESS_KEY="$R2_SECRET_ACCESS_KEY"
260+
export AWS_DEFAULT_REGION="auto"
261+
262+
R2_PATH="s3://${R2_BUCKET}/artifacts/rustfs-cli/release/"
263+
264+
# Upload all artifacts to R2
265+
echo "📤 Uploading artifacts to $R2_PATH..."
304266
for file in artifacts/*; do
305267
if [[ -f "$file" ]]; then
306268
echo "Uploading: $file"
307-
$OSSUTIL_BIN cp "$file" "$OSS_PATH" --force
269+
aws s3 cp "$file" "$R2_PATH" --endpoint-url "$R2_ENDPOINT" --only-show-errors
308270
echo "✅ Uploaded: $(basename "$file")"
309271
fi
310272
done
311273
312-
echo "✅ OSS upload completed successfully"
274+
echo "✅ R2 upload completed successfully"
313275
314276
# Generate shell completions
315277
completions:
@@ -404,42 +366,36 @@ jobs:
404366
echo "📦 Release assets:"
405367
ls -la
406368
407-
- name: Upload release assets to Aliyun OSS
369+
- name: Upload release assets to Cloudflare R2
408370
env:
409-
OSS_ACCESS_KEY_ID: ${{ secrets.ALICLOUDOSS_KEY_ID }}
410-
OSS_ACCESS_KEY_SECRET: ${{ secrets.ALICLOUDOSS_KEY_SECRET }}
411-
OSS_REGION: cn-beijing
412-
OSS_ENDPOINT: https://oss-cn-beijing.aliyuncs.com
371+
R2_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }}
372+
R2_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }}
373+
R2_ENDPOINT: ${{ secrets.R2_ENDPOINT }}
374+
R2_BUCKET: ${{ secrets.R2_BUCKET }}
413375
RELEASE_VERSION: ${{ needs.build-check.outputs.version }}
414376
shell: bash
415377
run: |
416-
if [[ -z "$OSS_ACCESS_KEY_ID" ]]; then
417-
echo "⚠️ OSS credentials not available, skipping release asset OSS upload"
378+
if [[ -z "$R2_ACCESS_KEY_ID" || -z "$R2_SECRET_ACCESS_KEY" || -z "$R2_ENDPOINT" || -z "$R2_BUCKET" ]]; then
379+
echo "⚠️ R2 credentials or endpoint missing, skipping release asset upload"
418380
exit 0
419381
fi
420382
421-
OSSUTIL_VERSION="2.1.1"
422-
OSSUTIL_ZIP="ossutil-${OSSUTIL_VERSION}-linux-amd64.zip"
423-
OSSUTIL_DIR="ossutil-${OSSUTIL_VERSION}-linux-amd64"
424-
425-
curl -sL -o "$OSSUTIL_ZIP" "https://gosspublic.alicdn.com/ossutil/v2/${OSSUTIL_VERSION}/${OSSUTIL_ZIP}"
426-
unzip -q "$OSSUTIL_ZIP"
427-
mv "${OSSUTIL_DIR}/ossutil" ./ossutil
428-
rm -rf "$OSSUTIL_DIR" "$OSSUTIL_ZIP"
429-
chmod +x ./ossutil
383+
export AWS_ACCESS_KEY_ID="$R2_ACCESS_KEY_ID"
384+
export AWS_SECRET_ACCESS_KEY="$R2_SECRET_ACCESS_KEY"
385+
export AWS_DEFAULT_REGION="auto"
430386
431-
OSS_PATH="oss://rustfs-artifacts/artifacts/rustfs-cli/release/${RELEASE_VERSION}/"
387+
R2_PATH="s3://${R2_BUCKET}/artifacts/rustfs-cli/release/${RELEASE_VERSION}/"
432388
433-
echo "📤 Uploading release assets to $OSS_PATH..."
389+
echo "📤 Uploading release assets to $R2_PATH..."
434390
for file in release-assets/*; do
435391
if [[ -f "$file" ]]; then
436392
echo "Uploading: $file"
437-
./ossutil cp "$file" "$OSS_PATH" --force
393+
aws s3 cp "$file" "$R2_PATH" --endpoint-url "$R2_ENDPOINT" --only-show-errors
438394
echo "✅ Uploaded: $(basename "$file")"
439395
fi
440396
done
441397
442-
echo "✅ Release asset OSS upload completed successfully"
398+
echo "✅ Release asset R2 upload completed successfully"
443399
444400
- name: Upload to GitHub Release (release event)
445401
if: github.event_name == 'release'

0 commit comments

Comments
 (0)