add cargo categories #21
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: CI | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
env: | |
MSRV: "1.46.0" | |
jobs: | |
stable: | |
name: stable | |
strategy: | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
- windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup update stable --no-self-update | |
- name: Test in debug mode | |
run: cargo test --no-fail-fast | |
- name: Test in release mode | |
run: cargo test --no-fail-fast --release | |
- name: Check with no default features | |
run: cargo check --no-default-features | |
nightly: | |
name: nightly | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup update nightly | |
- name: Test in debug mode | |
run: cargo +nightly test --no-fail-fast | |
- name: Test in release mode | |
run: cargo +nightly test --no-fail-fast --release | |
- name: Check with no default features | |
run: cargo +nightly check --no-default-features | |
- name: Build benches | |
run: cargo +nightly build --benches --all | |
msrv: | |
name: msrv | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup update $MSRV && rustup default $MSRV | |
- name: Test in debug mode | |
run: cargo test --no-fail-fast | |
- name: Test in release mode | |
run: cargo test --no-fail-fast --release | |
- name: Check with no default features | |
run: cargo check --no-default-features | |
asan: | |
name: asan | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup update nightly --no-self-update | |
- name: Run address sanitizer | |
run: RUSTFLAGS="-Z sanitizer=address" cargo +nightly test --lib --target x86_64-unknown-linux-gnu | |
env: | |
ASAN_OPTIONS: "detect_odr_violation=0 detect_leaks=0" | |
RUST_BACKTRACE: "1" | |
cross-test: | |
name: cross-test | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- i686-unknown-linux-gnu | |
- aarch64-unknown-linux-gnu | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup update --no-self-update | |
- name: Install Cross | |
run: cargo install --force cross | |
- name: Test | |
run: cross test --target=${{ matrix.target }} | |
- name: Check with no default features | |
run: cross check --target=${{ matrix.target }} --no-default-features | |
cross-check: | |
name: cross-check | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- wasm32-unknown-unknown | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup update --no-self-update | |
- name: Add target | |
run: rustup target add ${{ matrix.target }} | |
- name: Check | |
run: cargo check --target=${{ matrix.target }} | |
- name: Check with no default features | |
run: cargo check --target=${{ matrix.target }} --no-default-features | |
cross-check-nightly-feature: | |
name: cross-check-nightly-features | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: | |
- aarch64-unknown-linux-gnu | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install Rust | |
run: rustup update nightly --no-self-update && rustup default nightly | |
- name: Add target | |
run: rustup target add ${{ matrix.target }} | |
- name: Check | |
run: cargo check --target=${{ matrix.target }} --features=nightly | |
- name: Check with no default features | |
run: cargo check --target=${{ matrix.target }} --no-default-features --features=nightly |