fix(ci): skip mimalloc FFI and disable isolation for Miri (#621)

- Add cfg(not(miri)) guards to mimalloc module, global allocator, and
  allocator-memory-limits code paths so Miri falls back to the default
  system allocator instead of calling unsupported FFI functions.
- Set MIRIFLAGS="-Zmiri-disable-isolation" in the workflow so tests
  that perform file I/O can run under Miri.
- Skip units/parse tests under Miri due to Float-vs-BigInt Number
  representation mismatch with Miri's soft-float emulation.

Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
This commit is contained in:
Anand Krishnamoorthi
2026-03-11 15:13:51 -05:00
committed by GitHub
parent b8e15f46f3
commit ee3dff9a3d
9 changed files with 34 additions and 19 deletions

View File

@@ -620,6 +620,19 @@ fn yaml_test_impl(file: &str) -> Result<()> {
}
}
#[cfg(miri)]
{
// Skip tests with large-exponent Number comparisons that hit a
// Float-vs-BigInt representation mismatch under Miri's soft-float.
let skip = ["units/parse.yaml", "units/parse_bytes.yaml"];
for s in skip {
if file.contains(s) {
std::println!("skipped {file} under miri.");
return Ok(());
}
}
}
std::println!("running {file}");
let v0 = !file.contains("bindings.yaml");