From 6267872ddb1df9aaf55aa938bc12a215f16fbca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=89=E6=AD=A3=E8=B6=85?= Date: Fri, 11 Jul 2025 23:01:36 +0800 Subject: [PATCH] feat: add latest version support for release builds (#178) - Add automatic creation of latest version files for release and prerelease builds - Simplify installation script by providing direct latest URLs - Support rustfs-linux-{arch}-latest.zip naming convention - Improve build artifact management and user experience --- .github/workflows/build.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a8e90125..6c3ae546 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -363,6 +363,26 @@ jobs: echo "Uploading ${{ steps.package.outputs.package_file }} to $OSS_PATH..." $OSSUTIL_BIN cp "${{ steps.package.outputs.package_file }}" "$OSS_PATH" --force + # For release and prerelease builds, also create a latest version + if [[ "$BUILD_TYPE" == "release" ]] || [[ "$BUILD_TYPE" == "prerelease" ]]; then + # Extract platform and arch from package name + PACKAGE_NAME="${{ steps.package.outputs.package_name }}" + + # Create latest version filename + # Convert from rustfs-linux-x86_64-v1.0.0 to rustfs-linux-x86_64-latest + LATEST_NAME=$(echo "$PACKAGE_NAME" | sed 's/-v[0-9].*$/-latest/') + LATEST_FILE="${LATEST_NAME}.zip" + + # Copy the original file to latest version + cp "${{ steps.package.outputs.package_file }}" "$LATEST_FILE" + + # Upload the latest version + echo "Uploading latest version: $LATEST_FILE to $OSS_PATH..." + $OSSUTIL_BIN cp "$LATEST_FILE" "$OSS_PATH" --force + + echo "✅ Latest version uploaded: $LATEST_FILE" + fi + echo "✅ Upload completed successfully" # Build summary