diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1640c6a..f826332 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,6 +61,13 @@ jobs: compress_cmd: tar -czf compress_ext: .tar.gz + - os: ubuntu-24.04-arm + target: aarch64-unknown-linux-gnu + artifact_name: popcorn-cli + asset_name: popcorn-cli-linux-aarch64.tar.gz + compress_cmd: tar -czf + compress_ext: .tar.gz + steps: - uses: actions/checkout@v4 @@ -75,12 +82,6 @@ jobs: with: key: ${{ matrix.target }} - - name: Install cross-compilation dependencies (Linux ARM) - if: matrix.target == 'aarch64-unknown-linux-gnu' - run: | - sudo apt-get update - sudo apt-get install -y gcc-aarch64-linux-gnu - - name: Install musl tools (Linux musl) if: matrix.target == 'x86_64-unknown-linux-musl' run: | @@ -129,6 +130,7 @@ jobs: name: Release ${{ needs.version.outputs.new_tag }} files: | popcorn-cli-linux.tar.gz/popcorn-cli-linux.tar.gz + popcorn-cli-linux-aarch64.tar.gz/popcorn-cli-linux-aarch64.tar.gz popcorn-cli-windows.zip/popcorn-cli-windows.zip popcorn-cli-macos.tar.gz/popcorn-cli-macos.tar.gz env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e7b1a74..be183c3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest] rust: [stable] steps: diff --git a/install.sh b/install.sh index dc2d94f..0d61d61 100755 --- a/install.sh +++ b/install.sh @@ -28,7 +28,12 @@ SYMLINK_NAME="" EXTENSION="" if [[ "$OSTYPE" == "linux-gnu"* ]]; then - OS="linux" + ARCH=$(uname -m) + if [[ "$ARCH" == "aarch64" || "$ARCH" == "arm64" ]]; then + OS="linux-aarch64" + else + OS="linux" + fi EXTENSION=".tar.gz" BINARY_NAME="popcorn-cli" SYMLINK_NAME="popcorn" @@ -47,7 +52,7 @@ else exit 1 fi -echo "✅ Detected OS: $OS" +echo "✅ Detected OS: $OS ($(uname -m))" # Download URL DOWNLOAD_URL="https://github.com/gpu-mode/popcorn-cli/releases/latest/download/popcorn-cli-${OS}${EXTENSION}" @@ -149,4 +154,4 @@ echo " - ✅ All modes available: test, benchmark, leaderboard, profile" echo " - ✅ Clean user identification" echo "" echo "💡 Need help? Run: popcorn-cli --help" -echo "🔗 Example: popcorn-cli submit --gpu MI300 --leaderboard amd-fp8-mm --mode test example.py" \ No newline at end of file +echo "🔗 Example: popcorn-cli submit --gpu MI300 --leaderboard amd-fp8-mm --mode test example.py"