Skip to content

aarch64 CI

aarch64 CI #240

Workflow file for this run

name: Rust CI
on: [push]
env:
CARGO_TERM_COLOR: always
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
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
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: |
if [ "${{ matrix.spec.arch }}" == "x86" ]; then
cargo nextest run --workspace --all --locked --target ${{ matrix.spec.target }}
elif [ "${{ matrix.spec.arch }}" == "aarch64" ]; then
cargo nextest run --workspace --all --locked --target ${{ matrix.spec.target }} -F simd-keccak
fi
cargo-lint:
runs-on: ubuntu-latest
name: lint
timeout-minutes: 20
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Install xsltproc
run: sudo apt-get install xsltproc
- name: cargo fmt
run: cargo +nightly fmt --all -- --check
- name: cargo clippy
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:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Install xsltproc
run: sudo apt-get install xsltproc
- name: build
id: build
run: cargo build --workspace --all --locked
cargo-doc:
runs-on: ubuntu-latest
name: doc build & test
timeout-minutes: 20
continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Install xsltproc
run: sudo apt-get install xsltproc
- name: doclint
id: build
continue-on-error: true
run: RUSTDOCFLAGS="-D warnings" cargo doc --all --no-deps --document-private-items
- name: doctest
run: cargo test --doc --all --locked