diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c79358..d1b57ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,6 +55,12 @@ jobs: os: ubuntu-latest rust: 1.57.0 + - make: + task: miri + install-miri: true + os: ubuntu-latest + rust: nightly + # Example does not cover various envs. Should be done in test. - make: task: example-run @@ -112,6 +118,12 @@ jobs: chmod +x $HOME/.local/bin/cargo-deadlinks cargo deadlinks --version + - name: Install Miri + if: ${{ matrix.make.install-miri }} + run: | + rustup toolchain install nightly --component miri + cargo +nightly miri setup + - name: Install mlc if: ${{ matrix.make.install-mlc }} env: diff --git a/Makefile.toml b/Makefile.toml index 94a4ed9..3dbd1c1 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -28,6 +28,12 @@ script = [''' RUSTFLAGS='-D warnings' cargo test --workspace --all-targets --all-features '''] +[tasks.miri] +script = [''' +#!/usr/bin/env bash -eux +RUSTFLAGS='-D warnings' MIRIFLAGS="-Zmiri-disable-isolation" cargo +nightly miri test --workspace --all-targets --all-features +'''] + [tasks.example-build] dependencies = ["build"] script = ['''