From dc2338e10eeee27310f57b61b61d5d02f71318d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Loureiro?= Date: Fri, 23 Aug 2024 00:05:06 +0200 Subject: [PATCH] Use CI matrix for more refined results --- .github/workflows/rust.yml | 54 ++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index f5d35fc..17e3ba9 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -10,27 +10,52 @@ on: env: CARGO_TERM_COLOR: always - TARGETS: "x86_64-pc-windows-gnu x86_64-unknown-linux-gnu armv7-unknown-linux-gnueabihf aarch64-unknown-linux-gnu" jobs: build: - runs-on: ubuntu-latest + strategy: + matrix: + target: + - "x86_64-unknown-linux-gnu" + - "x86_64-pc-windows-gnu" + - "aarch64-unknown-linux-gnu" + - "armv7-unknown-linux-gnueabihf" + - "arm-unknown-linux-gnueabihf" + steps: - name: Checkout uses: actions/checkout@v3 - ################################## - # - name: Cache Rust dependencies - # uses: actions/cache@v2 - # with: - # path: | - # ~/.cargo/registry - # ~/.cargo/git - # target + - name: Setup for Linux x86_64 + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + + - name: Install extra packages + run: | + cargo install cross --git https://github.com/cross-rs/cross + + - name: Build target ${{ matrix.target }} + continue-on-error: false + run: cross build --target ${{ matrix.target }} + + + - name: Test target x86_64-unknown-linux-gnu + continue-on-error: false + run: cross test --target x86_64-unknown-linux-gnu + + + test: + needs: build + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 - ################################### - name: Setup for Linux x86_64 uses: actions-rs/toolchain@v1 with: @@ -39,9 +64,10 @@ jobs: - name: Install extra packages run: | - sudo apt-get update && sudo apt-get install -y libatk1.0-dev libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libgtk-3-dev python3-pip tftp cargo install cross --git https://github.com/cross-rs/cross - - name: Build all targets + - name: Test on target continue-on-error: false - run: ./cross-build-all.sh + run: | + cross build --release + cross test --release