on: [push, pull_request]
name: CI
env:
RUST_BACKTRACE: 1
jobs:
test:
strategy:
matrix:
image:
- ubuntu-latest
- windows-latest
- macos-latest - macos-13
runs-on: ${{ matrix.image }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- run: cargo test
miri:
strategy:
matrix:
image:
- ubuntu-latest
- windows-latest
- macos-latest - macos-13
runs-on: ${{ matrix.image }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install nightly toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: miri,rust-src
- run: cargo +nightly miri test
loom:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
- run: cargo test --test loom
env:
RUSTFLAGS: --cfg loom
asan:
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Zsanitizer=address
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install nightly toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- run: cargo +nightly test -Zbuild-std --target x86_64-unknown-linux-gnu --lib --bins --tests