diff --git a/.github/workflows/truss-transfer-cli-release.yaml b/.github/workflows/truss-transfer-cli-release.yaml index 58363d301..8b661580b 100644 --- a/.github/workflows/truss-transfer-cli-release.yaml +++ b/.github/workflows/truss-transfer-cli-release.yaml @@ -15,12 +15,19 @@ defaults: jobs: build-and-upload-cli: - name: Build and Upload CLI Binary - runs-on: ubuntu-latest + name: Build and Upload CLI Binaries + strategy: + matrix: + os: [ubuntu-22.04] + target: + - x86_64-unknown-linux-musl + - aarch64-unknown-linux-musl + # - i686-unknown-linux-musl + # - armv7-unknown-linux-musleabihf + # - powerpc64le-unknown-linux-musl + runs-on: ${{ matrix.os }} env: - VERSION: ${{ github.ref_name }} # or ${GITHUB_REF##*/}, see note below - OS: linux - ARCH: x86_64 + NAME: truss-transfer-cli-${{ github.ref_name }}-linux-${{ matrix.target }} steps: - name: Checkout Code uses: actions/checkout@v4 @@ -36,20 +43,20 @@ jobs: components: rust-src - name: Add musl Target - run: rustup target add x86_64-unknown-linux-musl + run: rustup target add ${{ matrix.target }} - name: Build Statically Linked CLI Binary run: | - cargo build --release --target x86_64-unknown-linux-musl --features cli --bin truss_transfer_cli + cargo build --release --target ${{ matrix.target }} --features cli --bin truss_transfer_cli mkdir -p dist/cli - cp target/x86_64-unknown-linux-musl/release/truss_transfer_cli dist/cli/truss_transfer_cli-${VERSION}-${OS}-${ARCH} + cp target/${{ matrix.target }}/release/truss_transfer_cli dist/cli/${{ env.NAME }} - name: Test CLI Binary run: | sudo mkdir -p /bptr sudo chown $(whoami):$(whoami) /bptr cp ./example-bptr-manifest.json /bptr/bptr-manifest - dist/cli/truss_transfer_cli-${VERSION}-${OS}-${ARCH} ./example_bptr_resolved + dist/cli/${{ env.NAME }} ./example_bptr_resolved if [ ! -d "./example_bptr_resolved" ]; then echo "❌ Test failed: output directory not created." exit 1 diff --git a/truss-transfer/Cargo.lock b/truss-transfer/Cargo.lock index d9b50893d..dbc8102df 100644 --- a/truss-transfer/Cargo.lock +++ b/truss-transfer/Cargo.lock @@ -1328,7 +1328,7 @@ dependencies = [ [[package]] name = "truss_transfer" -version = "0.0.1-rc3" +version = "0.0.1-rc4" dependencies = [ "anyhow", "bytes", diff --git a/truss-transfer/Cargo.toml b/truss-transfer/Cargo.toml index b855ecfb0..e57252e1c 100644 --- a/truss-transfer/Cargo.toml +++ b/truss-transfer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "truss_transfer" -version = "0.0.1-rc3" +version = "0.0.1-rc4" edition = "2021" [lib]