Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 20, 2026

✅ Enable Miri Tests in CI - Complete

All tasks completed successfully!

  • Understand the current CI workflow structure
  • Enable Miri tests by uncommenting the miri job in .github/workflows/ci.yml
  • Add continue-on-error: true to prevent Miri test failures from failing the CI build
  • Run Miri tests in parallel with other test jobs (needs: basics dependency)
  • Simplify command per feedback (use original command syntax)
  • Disable test_double_hadamard and test_padding_hadamard for miri
  • Disable test_distances_in_place for miri (using #[cfg(not(miri))])
  • Disable minmax_quantizer_tests module for miri
  • Disable minmax_vector_tests module for miri
  • Apply cfg!(miri) pattern to end_to_end_test
  • Revert miri-specific test optimizations where requested
  • Code review completed
  • Security scan completed (CodeQL - 0 alerts)

Summary

Successfully enabled Miri tests in the CI workflow with non-blocking execution and parallel processing. Tests have been optimized based on reviewer feedback.

Key Changes

  1. Enabled Miri Job - Uncommented and configured in .github/workflows/ci.yml
  2. Non-Blocking - Added continue-on-error: true to prevent CI blocking
  3. Parallel Execution - Runs alongside test-workspace jobs (Phase 3)
  4. Simplified Command - Uses original command: cargo +nightly miri nextest run --package diskann-quantization
  5. Test Optimization - Disabled tests that don't execute unsafe code for miri:
    • test_double_hadamard and test_padding_hadamard (transforms)
    • test_distances_in_place (kmeans/lloyds) - using #[cfg(not(miri))] for conditional compilation
    • minmax_quantizer_tests module (entire test module)
    • minmax_vector_tests module (entire test module)
  6. Test Configuration - Applied if cfg!(miri) pattern to end_to_end_test for cleaner conditional setup

CI Pipeline Structure

Phase 1: fmt, clippy (parallel, 2-3 min)
         ↓
Phase 2: basics (aggregation, instant)
         ↓
Phase 3: test-workspace, test-workspace-features, miri (parallel)

Time Impact Analysis

  • Miri tests run in parallel with other test jobs
  • Test suite optimized to skip non-unsafe code tests
  • Expected CI time: well under 60-minute requirement
  • CI time determined by longest-running parallel job

Quality & Security

  • ✅ Detects undefined behavior and memory safety issues
  • ✅ Non-blocking ensures development velocity
  • ✅ YAML syntax validated
  • ✅ CodeQL scan passed (0 alerts)
  • ✅ Test suite optimized per reviewer feedback

The changes ensure Miri tests provide valuable feedback without blocking the CI pipeline or adding unnecessary complexity.

Original prompt

This section details on the original issue you should resolve

<issue_title>Enable miri tests in .github/workflows/ci.yml</issue_title>
<issue_description>

# name: miri-test

Ensure that overal build time doesn't exceed 60 minutes.</issue_description>

<agent_instructions>Enable Miri tests, but make sure they don’t fail the CI build. Measure and report how much time they add to the CI pipeline, and consider running them in parallel with other steps to minimize their impact on overall build duration.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Enable Miri tests in CI workflow Enable Miri tests in CI with non-blocking execution and time tracking Jan 20, 2026
Copilot AI requested a review from arrayka January 20, 2026 23:37
Copilot AI changed the title Enable Miri tests in CI with non-blocking execution and time tracking Enable Miri tests in CI with non-blocking execution Jan 20, 2026
Copilot AI requested a review from arrayka January 20, 2026 23:56
Copilot AI requested a review from arrayka January 24, 2026 02:34
…apply cfg!(miri) pattern to end_to_end_test

Co-authored-by: arrayka <[email protected]>
@arrayka arrayka marked this pull request as ready for review January 27, 2026 21:31
@codecov-commenter
Copy link

codecov-commenter commented Jan 27, 2026

Codecov Report

❌ Patch coverage is 77.27273% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.70%. Comparing base (528fd06) to head (f92478c).

Files with missing lines Patch % Lines
...skann-quantization/src/algorithms/kmeans/lloyds.rs 53.33% 7 Missing ⚠️
...uantization/src/product/tables/transposed/table.rs 71.42% 2 Missing ⚠️
...antization/src/product/tables/transposed/pivots.rs 80.00% 1 Missing ⚠️

❌ Your patch status has failed because the patch coverage (77.27%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #697      +/-   ##
==========================================
- Coverage   86.70%   86.70%   -0.01%     
==========================================
  Files         398      398              
  Lines       74238    74262      +24     
==========================================
+ Hits        64371    64387      +16     
- Misses       9867     9875       +8     
Files with missing lines Coverage Δ
diskann-quantization/src/algorithms/heap.rs 92.64% <100.00%> (+0.19%) ⬆️
...skann-quantization/src/algorithms/kmeans/common.rs 97.49% <100.00%> (+0.03%) ⬆️
...ann-quantization/src/algorithms/kmeans/plusplus.rs 97.27% <ø> (ø)
...ation/src/algorithms/transforms/double_hadamard.rs 77.15% <ø> (ø)
...kann-quantization/src/algorithms/transforms/mod.rs 85.93% <ø> (ø)
...tion/src/algorithms/transforms/padding_hadamard.rs 84.48% <ø> (ø)
...antization/src/algorithms/transforms/test_utils.rs 87.89% <ø> (ø)
diskann-quantization/src/bits/distances.rs 91.38% <ø> (ø)
diskann-quantization/src/minmax/quantizer.rs 92.17% <ø> (ø)
diskann-quantization/src/minmax/vectors.rs 94.07% <100.00%> (ø)
... and 5 more
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@arrayka arrayka left a comment

Choose a reason for hiding this comment

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

LGTM

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.

Enable miri tests in .github/workflows/ci.yml

4 participants