name: Rust with MIRI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
toolchain:
- "1.56.1"
- stable
steps:
- uses: actions/checkout@v4
- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }}
- if: matrix.toolchain == 'stable'
run: cargo fmt --check
- if: matrix.toolchain == '1.56.1'
run: rm Cargo.lock
- run: cargo build --verbose
- run: cargo test --verbose
miri:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup update nightly && rustup default nightly && rustup component add miri
- run: cargo miri test --verbose