feat: add remote file download, extraction, and packaging process in build.yml (#245)

* fix

* update README.md
This commit is contained in:
houseme
2025-03-01 23:14:30 +08:00
committed by GitHub
parent 44b02afdfd
commit e9ba185362
2 changed files with 77 additions and 18 deletions

View File

@@ -15,9 +15,9 @@ jobs:
strategy:
matrix:
variant:
- { profile: dev, target: x86_64-unknown-linux-gnu, glibc: "default" }
- { profile: release, target: x86_64-unknown-linux-gnu, glibc: "default" }
- { profile: release, target: x86_64-unknown-linux-gnu, glibc: "2.31" }
- { profile: dev, target: x86_64-unknown-linux-gnu, glibc: "default" }
- { profile: release, target: x86_64-unknown-linux-gnu, glibc: "default" }
- { profile: release, target: x86_64-unknown-linux-gnu, glibc: "2.31" }
steps:
- uses: actions/checkout@v4
@@ -32,10 +32,70 @@ jobs:
--target ${{ matrix.variant.target }} \
--glibc ${{ matrix.variant.glibc }}
# Download the zip fileLinux/macOS used bash
- name: Download Static Assets (Linux/macOS)
run: |
url="https://dl.rustfs.com/console/rustfs-console-latest.zip"
file=$(basename "$url")
curl -L -o "$file" "$url"
if [ ! -f "$file" ]; then
echo "Error: Failed to download $file"
exit 1
fi
echo "Downloaded $file successfully"
ls -l "$file"
ls -la
# Unzip the zip fileLinux/macOS used bash
- name: Extract Static Assets (Linux/macOS)
run: |
ls -la
# Find the first .zip or .tar.gz file
file=""
for f in *.zip *.tar.gz; do
if [ -f "$f" ]; then
file="$f"
break
fi
done
if [ -z "$file" ]; then
echo "Error: No .zip or .tar.gz file found in the current directory"
ls -la # Displays the contents of the current directory for debugging
exit 1
fi
# Outputs the name of the file found
echo "Found file: $file"
mkdir -p static
if [[ "$file" == *.zip ]]; then
echo "Unzipping $file to static/"
unzip "$file" -d static || { echo "Error: Failed to unzip $file"; exit 1; }
elif [[ "$file" == *.tar.gz ]]; then
echo "Extracting $file to static/"
tar -xzf "$file" -C static || { echo "Error: Failed to extract $file"; exit 1; }
else
echo "Error: Unsupported file format: $file"
exit 1
fi
# Check whether the decompression is successful
if [ $? -ne 0 ]; then
echo "Error: Failed to extract $file"
exit 2
fi
rm "$file"
ls -la static
# Packing binaries and static directoryLinux/macOS used bash
- name: Package Binary and Static Assets (Linux/macOS)
run: |
mkdir -p release-package
cp target/artifacts/rustfs.${{ matrix.variant.profile }}.${{ matrix.variant.target }}.${{ matrix.variant.glibc }} release-package/
cp -r static release-package/
zip -r rustfs${{ matrix.variant.profile }}-${{ matrix.variant.target }}-${{ matrix.variant.glibc }}.zip release-package/*
ls -la
- uses: actions/upload-artifact@v4
with:
name: rustfs.${{ matrix.variant.profile }}.${{ matrix.variant.target }}.${{ matrix.variant.glibc }}
path: ./target/artifacts/*
path: ./release-package/rustfs.${{ matrix.variant.profile }}.${{ matrix.variant.target }}.${{ matrix.variant.glibc }}.zip
merge:
runs-on: ubuntu-latest