Skip to content

Commit 988b438

Browse files
Sztergbaum Romanclaude
authored andcommitted
fix(ci): Miri runs --lib only for queue (integration tests use inline asm)
- CI + nightly: cargo miri test -p mantis-queue --lib (skip integration tests) - CI: add Miri for strategy, events, types, market-state (safe crates) - Revert integration test cfg(not(miri)) — handled by --lib flag instead - Nightly Miri extended: also --lib only Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f7b7fd8 commit 988b438

5 files changed

Lines changed: 8 additions & 6 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,17 @@ jobs:
127127
with:
128128
components: miri
129129
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
130-
- run: cargo +nightly miri test -p mantis-queue --all-features
130+
# Queue: --lib only (integration tests use inline asm via cold_path/prefetch)
131+
- run: cargo +nightly miri test -p mantis-queue --lib --all-features
131132
env:
132133
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check
133134
- run: cargo +nightly miri test -p mantis-seqlock --lib
134135
env:
135136
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check
137+
# Strategy + events + types: safe crates, full Miri coverage
138+
- run: cargo +nightly miri test -p mantis-strategy -p mantis-events -p mantis-types -p mantis-market-state --no-default-features
139+
env:
140+
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check
136141

137142
careful:
138143
name: Cargo Careful

.github/workflows/nightly.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ jobs:
5252
components: miri
5353
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
5454
- name: Miri with stacked borrows
55-
run: cargo +nightly miri test -p mantis-queue --all-features
55+
run: cargo +nightly miri test -p mantis-queue --lib --all-features
5656
env:
5757
MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check
5858
- name: Miri with tree borrows
59-
run: cargo +nightly miri test -p mantis-queue --all-features
59+
run: cargo +nightly miri test -p mantis-queue --lib --all-features
6060
env:
6161
MIRIFLAGS: -Zmiri-tree-borrows -Zmiri-strict-provenance
6262

crates/queue/tests/spsc_basic.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#![cfg(not(miri))]
21
//! Skip under Miri — queue uses inline assembly (`cold_path`, `prefetch`).
32
//! Integration tests for all SPSC ring presets.
43

crates/queue/tests/spsc_copy_basic.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#![cfg(not(miri))]
21
//! Skip under Miri — queue uses inline assembly (`cold_path`, `prefetch`).
32
//! Integration tests for the copy-optimized SPSC ring.
43
use mantis_queue::{SpscRingCopy, SpscRingCopyInstrumented};

crates/queue/tests/spsc_stress.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#![cfg(not(miri))]
21
//! Skip under Miri — queue uses inline assembly (`cold_path`, `prefetch`).
32
//! Two-thread stress test: 10M sequential u64 values.
43

0 commit comments

Comments
 (0)