name: test on: [ push ] env: CARGO_INCREMENTAL: 0 RUSTFLAGS: "-Dwarnings" RUSTDOCFLAGS: "-Dwarnings" jobs: build: runs-on: ubuntu-latest strategy: matrix: rust: - 1.73.0 # MSRV - stable target: - thumbv7em-none-eabi - wasm32-unknown-unknown - s390x-unknown-linux-gnu - powerpc64-unknown-linux-gnu - riscv64gc-unknown-none-elf - x86_64-pc-windows-gnu - x86_64-apple-darwin steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - run: cargo build --target ${{ matrix.target }} --release --no-default-features --features "slh_dsa_sha2_128s slh_dsa_shake_128s slh_dsa_sha2_128f slh_dsa_shake_128f slh_dsa_sha2_192s slh_dsa_shake_192s slh_dsa_sha2_192f slh_dsa_shake_192f slh_dsa_sha2_256s slh_dsa_shake_256s slh_dsa_sha2_256f slh_dsa_shake_256f" test: runs-on: ubuntu-latest strategy: matrix: include: # 32-bit Linux - target: i686-unknown-linux-gnu rust: 1.73.0 # MSRV deps: sudo apt update && sudo apt install gcc-multilib - target: i686-unknown-linux-gnu rust: stable deps: sudo apt update && sudo apt install gcc-multilib # 64-bit Linux - target: x86_64-unknown-linux-gnu rust: 1.73.0 # MSRV - target: x86_64-unknown-linux-gnu rust: stable steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - run: ${{ matrix.deps }} - run: cargo check --target ${{ matrix.target }} --all-features - run: cargo test --release --target ${{ matrix.target }} cross: strategy: matrix: include: # ARM32 - target: armv7-unknown-linux-gnueabihf rust: 1.73.0 # MSRV (cross) - target: armv7-unknown-linux-gnueabihf rust: stable # ARM64 - target: aarch64-unknown-linux-gnu rust: 1.73.0 # MSRV (cross) - target: aarch64-unknown-linux-gnu rust: stable # PPC32 - target: powerpc-unknown-linux-gnu rust: 1.73.0 # MSRV (cross) - target: powerpc-unknown-linux-gnu rust: stable runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: ${{ matrix.deps }} - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} targets: ${{ matrix.target }} - uses: RustCrypto/actions/cross-install@master - run: cross test --release --target ${{ matrix.target }} --all-features doc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: RustCrypto/actions/cargo-cache@master - uses: dtolnay/rust-toolchain@master with: toolchain: stable - run: cargo doc --all-features clippy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Run Clippy run: cargo clippy --all-targets --all-features