Skip to content

Conversation

@dotandev
Copy link

@dotandev dotandev commented Jan 29, 2026

Description

This PR adds a step to the GitHub Actions CI pipeline to run MIRI (Undefined Behavior detector) on the codebase.

Changes

  • Modified .github/workflows/reusable-build.yml:
    • Added rustup component add miri.
    • Added Miri Check step to the Linux build job.
    • Configured to run cargo miri test --workspace with exclusions for crates that use LLVM bindings (FFI) which are currently unsupported by MIRI:
      • inference-wasm-codegen (depends on inkwell)
      • inference (depends on wasm-codegen)
      • inference-cli (depends on inference)
      • infs (app)
      • inference-lsp (uses inkwell)
      • inference-ide & inference-ide-db (excluded to reduce noise/compile time, focusing on core logic first)

Verification

  • Verified MIRI installation command locally.
  • CI pipeline will now report any UB found in the core crates (AST, Type Checker, etc).

closes #17

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Miri (MIR Interpreter) checks to the CI pipeline to detect undefined behavior in Rust code. The workflow focuses on testing "logical crates" - core library components that don't involve FFI/LLVM bindings, which Miri doesn't support.

Changes:

  • Added a new GitHub Actions workflow file to run Miri tests on pull requests and pushes to main
  • Configured Miri to test specific crates: inference-ast, inference-type-checker, inf-wasmparser, wat-fmt, inf-wast, and wasm-fmt

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add MIRI check

1 participant