on:
push:
branches:
- master
pull_request:
branches:
- master
name: Tests
jobs:
check:
name: Check
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable, "1.65"]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
- run: cargo check --all-features --tests
test:
name: Test
strategy:
matrix:
bits: [16, 32, 64]
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: 1
RUSTFLAGS: -D warnings --cfg force_bits="${{ matrix.bits }}$"
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo test --all-features --workspace --exclude num-modular-bench --no-fail-fast
test-x86:
name: Test x86
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: 1
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: i686-unknown-linux-gnu
- run: |
sudo apt update
sudo apt install gcc-multilib
- run: cargo test --target i686-unknown-linux-gnu --workspace --exclude num-modular-bench
test-x86_64:
name: Test x86_64
runs-on: ubuntu-latest
env:
RUST_BACKTRACE: 1
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: x86_64-unknown-linux-gnu
- run: cargo test --target x86_64-unknown-linux-gnu --workspace --exclude num-modular-bench
test-no-std:
name: Test no-std
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo test --no-default-features --workspace --exclude num-modular-bench
build-aarch64:
name: Build aarch64
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
targets: aarch64-unknown-linux-gnu
- run: cargo build --target aarch64-unknown-linux-gnu --all-features --workspace --exclude num-modular-bench
build-benchmark:
name: Build benchmark
runs-on: ubuntu-latest
env:
RUSTFLAGS: -D warnings
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- run: cargo build -p num-modular-bench
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
components: clippy
- run: cargo clippy --all-features --all-targets --workspace --exclude num-modular-bench -- -D warnings