name: CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
env:
RUSTFLAGS: -Dwarnings
RUST_BACKTRACE: full
nightly: nightly-2022-11-12
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cargo fmt --all --check
stable:
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- run: rustup update stable --no-self-update && rustup default stable
- run: cargo test
nightly:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: rustup update $nightly && rustup default $nightly
- run: cargo test
miri:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: rustup update $nightly && rustup default $nightly
- run: rustup component add miri
- run: cargo miri test
loom:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: rustup update $nightly && rustup default $nightly
- run: RUSTFLAGS="--cfg loom -Dwarnings" cargo test --lib --release
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: rustup update $nightly && rustup default $nightly
- run: RUSTDOCFLAGS="--cfg docsrs" cargo doc --no-deps --all-features