diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index cf5acfa..8e82817 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -7,7 +7,15 @@ env: jobs: cargo-tests: runs-on: ubuntu-latest + name: tests (${{ matrix.spec.arch }}) timeout-minutes: 20 + strategy: + matrix: + spec: + - arch: aarch64 + target: aarch64-unknown-linux-gnu + - arch: x86 + target: x86_64-unknown-linux-gnu steps: - name: Checkout sources uses: actions/checkout@v4 @@ -17,12 +25,32 @@ jobs: with: cache-on-failure: true - name: Install xsltproc + shell: bash run: sudo apt-get install xsltproc + - uses: taiki-e/setup-cross-toolchain-action@v1 + with: + target: ${{ matrix.spec.target }} - uses: taiki-e/install-action@nextest - - name: cargo test - run: cargo nextest run --workspace --all --locked + - uses: uraimo/run-on-arch-action@v2 + if: matrix.spec.arch == 'aarch64' + name: Run tests (aarch64) + with: + arch: ${{ matrix.spec.arch }} + distro: ubuntu_latest + install: | + apt-get install xsltproc + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + source ~/.bash_profile + source ~/.bashrc + run: | + cargo nextest run --workspace --all --locked --target ${{ matrix.spec.target }} -F simd-keccak + - name: Run tests (worker native x86) + if: matrix.spec.arch == 'x86' + run: | + cargo nextest run --workspace --all --locked --target ${{ matrix.spec.target }} cargo-lint: runs-on: ubuntu-latest + name: lint timeout-minutes: 20 steps: - name: Checkout sources @@ -42,6 +70,7 @@ jobs: run: cargo +nightly clippy --workspace --all --locked -- -D warnings cargo-build: runs-on: ubuntu-latest + name: build timeout-minutes: 20 continue-on-error: true steps: @@ -59,6 +88,7 @@ jobs: run: cargo build --workspace --all --locked cargo-doc: runs-on: ubuntu-latest + name: doc build & test timeout-minutes: 20 continue-on-error: true steps: