rust ffi #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test | |
on: [ push ] | |
env: | |
CARGO_INCREMENTAL: 0 | |
RUSTFLAGS: "-Dwarnings" | |
RUSTDOCFLAGS: "-Dwarnings" | |
jobs: | |
cargo-deny: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: EmbarkStudios/cargo-deny-action@v1 | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
rust: | |
- 1.72.0 # MSRV is 1.70, but GA flaky | |
- 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.72.0 # MSRV is 1.70, but GA flaky | |
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.72.0 # MSRV is 1.70, but GA flaky | |
- 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.72.0 # MSRV is 1.70, but GA flaky | |
- target: armv7-unknown-linux-gnueabihf | |
rust: stable | |
# ARM64 | |
- target: aarch64-unknown-linux-gnu | |
rust: 1.72.0 # MSRV is 1.70, but GA flaky | |
- target: aarch64-unknown-linux-gnu | |
rust: stable | |
# PPC32 | |
- target: powerpc-unknown-linux-gnu | |
rust: 1.72.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 |