name: CI
on: [ push, pull_request, workflow_dispatch ]
jobs:
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- run: cargo clippy --all --all-targets --features full-test-suite
- run: cargo clippy --all --all-targets --features full-test-suite --no-default-features
- run: cargo clippy --all --all-targets --no-default-features
- run: cargo fmt --all --check
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
toolchain:
- stable
- "1.65"
os:
- ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install toolchain (${{ matrix.toolchain }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- uses: Swatinem/rust-cache@v2
- name: msrv pinning
run: if [[ "stable" != "${{ matrix.toolchain }}" ]]; then ./msrv-lock.sh ; fi
- name: test
run: cargo test --workspace --all-targets --features full-test-suite
- name: test no-default-features
run: cargo test --workspace --all-targets --features full-test-suite --no-default-features
- name: test minimal features
run: cargo test --workspace --all-targets --no-default-features
- name: test doc
run: cargo test --workspace --doc --features full-test-suite
- name: test doc no-default-features
run: cargo test --workspace --doc --features full-test-suite --no-default-features
- name: test doc minimal features
run: cargo test --workspace --doc --no-default-features
- name: test suite extra external crate options
run: cargo test --workspace --features test-suite-extra --no-default-features
- name: ancient hashbrown check
run: ./test-ancient-hashbrown.sh
no-std:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- name: install cargo-no-std-check
uses: baptiste0928/cargo-install@v3
with:
crate: cargo-no-std-check
- name: bilrost cargo-no-std-check
run: cargo no-std-check --manifest-path Cargo.toml --features full-test-suite --no-default-features
- name: bilrost-derive cargo-no-std-check
run: cargo no-std-check --manifest-path bilrost-derive/Cargo.toml --no-default-features
- name: bilrost-types cargo-no-std-check
run: cargo no-std-check --manifest-path bilrost-types/Cargo.toml --no-default-features