Skip to content

ci: fix miri checks (#1651) #855

ci: fix miri checks (#1651)

ci: fix miri checks (#1651) #855

Workflow file for this run

name: Unsoundness checks
on:
push:
branches:
- main
workflow_dispatch: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
RUSTFLAGS: "--cfg=ci_run"
# Permissive provenance is required due to warnings in bitvec 1.0.1
# Proptest flags required to fix https://github.com/proptest-rs/proptest/issues/253
MIRIFLAGS: '-Zmiri-permissive-provenance -Zmiri-env-forward=PROPTEST_DISABLE_FAILURE_PERSISTENCE'
PROPTEST_DISABLE_FAILURE_PERSISTENCE: true
jobs:
miri:
name: "Miri"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Miri
run: |
rustup toolchain install nightly --component miri
rustup override set nightly
cargo miri setup
- uses: Swatinem/rust-cache@v2
with:
prefix-key: v0-miri
- name: Install CapnProto
run: sudo apt-get install -y capnproto
- name: Test with Miri
run: cargo miri test
notify-slack:
uses: CQCL/hugrverse-actions/.github/workflows/slack-notifier.yml@main
needs: miri
if: always() && needs.miri.result == 'failure' && github.event_name == 'push'
with:
channel-id: 'C04SHCL4FKP'
slack-message: |
💥 The unsoundness check for `CQCL/hugr` failed.
<https://github.com/CQCL/hugr/actions/runs/${{ github.run_id }}|Please investigate>.
# Rate-limit the message to once per day
timeout-minutes: 1440
# A repository variable used to store the last message timestamp.
timeout-variable: "UNSOUNDNESS_MSG_SENT"
secrets:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
GITHUB_PAT: ${{ secrets.HUGRBOT_PAT }}