name: miri
permissions:
contents: read
on:
push:
branches:
- master
pull_request:
branches:
- master
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre_ci:
uses: dtolnay/.github/.github/workflows/pre_ci.yml@master
miri:
name: Miri
needs: pre_ci
if: needs.pre_ci.outputs.continue
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Harden the runner (Audit all outbound calls)
uses: step-security/harden-runner@9af89fc71515a100421586dfdb3dc9c984fbf411 with:
egress-policy: audit
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 name: Checkout
- name: Install Rust nightly with Miri
run: |
rustup toolchain install nightly --component miri
rustup override set nightly
cargo miri setup
- name: Run Miri tests (disable coverage flags)
run: unset RUSTFLAGS && cargo miri test
env:
MIRIFLAGS: -Zmiri-strict-provenance