diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 69dc1e2..1808d58 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,11 +53,9 @@ jobs: with: targets: ${{ matrix.target }} - - name: Install cross-compilation tools + - name: Install cross tool if: matrix.cross - run: | - sudo apt-get update - sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu + run: cargo install cross --git https://github.com/cross-rs/cross - name: Install system dependencies (Linux) if: runner.os == 'Linux' && !matrix.cross @@ -85,18 +83,17 @@ jobs: restore-keys: | ${{ runner.os }}-${{ matrix.target }}-cargo-target-release- - - name: Build release binaries (Unix) - if: runner.os != 'Windows' + - name: Build release binaries (Unix with cross) + if: runner.os != 'Windows' && matrix.cross env: TARGET: ${{ matrix.target }} - CROSS: ${{ matrix.cross }} - run: | - if [[ "$CROSS" == "true" ]]; then - export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc - export CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc - export CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++ - fi - cargo build --release --workspace --target "$TARGET" + run: cross build --release --workspace --target "$TARGET" + + - name: Build release binaries (Unix native) + if: runner.os != 'Windows' && !matrix.cross + env: + TARGET: ${{ matrix.target }} + run: cargo build --release --workspace --target "$TARGET" - name: Build release binaries (Windows) if: runner.os == 'Windows'