diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 5f435fb..7367640 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -12,15 +12,14 @@ env: jobs: test: name: Test on ${{ matrix.target }} - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest strategy: fail-fast: false matrix: - include: - - os: ubuntu-latest - target: x86_64-unknown-linux-gnu - - os: ubuntu-latest - target: aarch64-unknown-linux-gnu + target: + - x86_64-unknown-linux-gnu + - aarch64-unknown-linux-gnu + - riscv64gc-unknown-linux-gnu steps: - name: "Checkout" @@ -31,24 +30,12 @@ jobs: with: target: ${{ matrix.target }} - - name: "Install cross-compilation tools" - if: matrix.target == 'aarch64-unknown-linux-gnu' - run: | - sudo apt-get update - sudo apt-get install -y gcc-aarch64-linux-gnu - - - name: "Configure linker for aarch64" - if: matrix.target == 'aarch64-unknown-linux-gnu' - run: | - mkdir -p .cargo - cat >> .cargo/config.toml << EOF - [target.aarch64-unknown-linux-gnu] - linker = "aarch64-linux-gnu-gcc" - EOF + - name: "Install cross" + run: cargo install cross --git https://github.com/cross-rs/cross - name: "Build" - run: cargo build --verbose --target ${{ matrix.target }} + run: cross build --verbose --target ${{ matrix.target }} - name: "Run tests" if: matrix.target == 'x86_64-unknown-linux-gnu' - run: cargo test --verbose --target ${{ matrix.target }} + run: cross test --verbose --target ${{ matrix.target }}