Conversation
Co-authored-by: arrayka <1551741+arrayka@users.noreply.github.com>
Co-authored-by: arrayka <1551741+arrayka@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #729 +/- ##
=======================================
Coverage 89.01% 89.01%
=======================================
Files 428 428
Lines 78294 78294
=======================================
+ Hits 69692 69697 +5
+ Misses 8602 8597 -5
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR adds miri-specific code coverage calculation to the CI workflow to track test coverage for unsafe code paths conditionally compiled with #[cfg(miri)]. The implementation runs cargo llvm-cov with the miri configuration flag and uploads the results to Codecov as a separate flag for tracking.
Changes:
- Added a new "Generate miri code coverage" step in the coverage job that runs tests with
--cfg mirienabled - Split Codecov uploads into two separate steps with distinct flags:
unittestsfor regular coverage andmirifor miri-specific coverage - Used
--config 'build.rustflags=[...]'approach to preserve llvm-cov's instrumentation flags while adding the miri cfg
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thanks for this - quick question: can you help me understand the actionable part of this pipeline? There is not an automated rejection (as far as I can tell), which would be hard to measure in any case as raw coverage is not useful in this context. New tests still require review. Is the intent to make that manual review process easier by generating the coverage report? Of is the purpose of this PR to develop some early feedback on how this pipeline would interact with pull-requests? If the latter, it might not be a bad idea to annotate the stage as such in the YAML file so we don't accidentally forget about it 😄. |
|
Thanks! |
## What's Changed ### API Breaking Changes * Remove the `experimental_avx512` feature. by @hildebrandmw in #732 * Use VirtualStorageProvider::new_overlay(test_data_root()) in tests by @Copilot in #726 * save and load max_record_size and leaf_page_size for bftrees by @backurs in #724 * [multi-vector] Verify `Standard` won't overflow in its constructor. by @hildebrandmw in #757 * VirtualStorageProvider: Make new() private, add new_physical by @Copilot in #764 * [minmax] Refactor full query by @arkrishn94 in #770 * Bump diskann-quantization to edition 2024. by @hildebrandmw in #772 ### Additions * [multi-vector] Enable cloning of `Mat` and friends. by @hildebrandmw in #759 * adding bftreepaths in mod.rs by @backurs in #775 * [quantization] Add `as_raw_ptr`. by @hildebrandmw in #774 ### Bug Fixes * Fix `diskann` compilation without default-features and add CI tests. by @hildebrandmw in #722 ### Docs and Comments * Updating the benchmark README to use diskann-benchmark by @bryantower in #709 * Fix doc comment: Windows line endings are \r\n not \n\r by @Copilot in #717 * Fix spelling errors in streaming API documentation by @Copilot in #715 * Add performance diagnostic to `diskann-benchmark` by @hildebrandmw in #744 * Add agents.md onboarding guide for coding agents by @Copilot in #765 * [doc] Fix lots of little typos in `diskann-wide` by @hildebrandmw in #771 ### Performance * [diskann-wide] Optimize `load_simd_first` for 8-bit and 16-bit element types. by @hildebrandmw in #747 ### Dependencies * Bump bytes from 1.11.0 to 1.11.1 by @dependabot[bot] in #723 * [diskann] Add note on the selection of `PruneKind` in `graph::config::Builder`. by @hildebrandmw in #734 * [diskann-providers] Remove the LRU dependency and make `vfs` and `serde_json` optional. by @hildebrandmw in #733 ### Infrastructure * Add initial QEMU tests for `diskann-wide`. by @hildebrandmw in #719 * [CI] Skip coverage for Dependabot. by @hildebrandmw in #725 * Add miri test coverage to CI workflow by @Copilot in #729 * [CI] Add minimal ARM checks by @hildebrandmw in #745 * Enable CodeQL security analysis by @Copilot in #754 ## New Contributors * @backurs made their first contribution in #724 * @arkrishn94 made their first contribution in #770 **Full Changelog**: 0.45.0...0.46.0

Adds coverage calculation for code paths conditionally compiled with
#[cfg(miri)]. Codecov will now report coverage for both regular unit tests and miri-gated code.Let's check it in to main to verify whether codecov flags work as expected.
Changes
.github/workflows/ci.ymlcoverage jobcargo llvm-cov nextestwith--config 'build.rustflags=["-Dwarnings", "--cfg", "miri"]'lcov_miri.info(regular coverage remains inlcov.info)files: lcov.info,lcov_miri.infoImplementation note
Uses
--config 'build.rustflags=[...]'instead ofRUSTFLAGSenvironment variable to preserve llvm-cov's instrumentation flags.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.