Skip to content

Add initial QEMU tests for diskann-wide.#719

Merged
hildebrandmw merged 14 commits intomainfrom
mhildebr/qemu
Feb 6, 2026
Merged

Add initial QEMU tests for diskann-wide.#719
hildebrandmw merged 14 commits intomainfrom
mhildebr/qemu

Conversation

@hildebrandmw
Copy link
Contributor

@hildebrandmw hildebrandmw commented Feb 4, 2026

This adds QEMU tests to CI to provide coverage of our architecture detection mechanisms.

QEMU is an emulator that, amongst other things, allows to run binaries as if we were running on an older CPU. This can help catch improper compilation when we target older CPUs. Unfortunately, user-space emulation of AVX-512 doesn't go the other way, so we can't quite use this to test our AVX-512 code on non-AVX-512 hosts.

Additionally, this closes #694 by changing the application of -Dwarnings from overriding RUSTFLAGS to instead passing it via the --config flag. The former effectively disables our .cargo/config.toml, which in-turn disabled the x86-64-v3 CPU target.

An example of a failing run can be seen here, where the CI test fails due to an illegal instruction found by QEMU.

@codecov-commenter
Copy link

codecov-commenter commented Feb 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.01%. Comparing base (7b87844) to head (578c706).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##             main     #719    +/-   ##
========================================
  Coverage   89.01%   89.01%            
========================================
  Files         428      428            
  Lines       78151    78294   +143     
========================================
+ Hits        69563    69695   +132     
- Misses       8588     8599    +11     

see 6 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hildebrandmw hildebrandmw marked this pull request as ready for review February 4, 2026 19:42
@hildebrandmw hildebrandmw requested review from a team and Copilot February 4, 2026 19:42
Copy link
Contributor

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 QEMU-based testing to CI to validate that the architecture detection mechanisms work correctly when compiled for older x86-64 CPUs. It also fixes issue #694 by changing how compiler warnings are applied - using --config flag instead of overriding RUSTFLAGS environment variable, which was preventing .cargo/config.toml from being used.

Changes:

  • Changed from RUSTFLAGS environment variable to RUST_CONFIG with --config flag to preserve .cargo/config.toml settings
  • Added new qemu job that compiles tests for x86-64 baseline and runs them under QEMU emulation to catch illegal instructions
  • Updated all cargo command invocations across test jobs to use --config "$RUST_CONFIG"

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

hildebrandmw and others added 3 commits February 4, 2026 11:48
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@hildebrandmw hildebrandmw merged commit 6515e59 into main Feb 6, 2026
20 checks passed
@hildebrandmw hildebrandmw deleted the mhildebr/qemu branch February 6, 2026 00:05
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.

Verify .cargo/config.toml is used in CI

4 participants