Skip to content

feat(ci): dependency-DAG-based test scoping for Rust CI#3095

Open
krishvishal wants to merge 2 commits intoapache:masterfrom
krishvishal:ci-metadata-opt
Open

feat(ci): dependency-DAG-based test scoping for Rust CI#3095
krishvishal wants to merge 2 commits intoapache:masterfrom
krishvishal:ci-metadata-opt

Conversation

@krishvishal
Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #3094

Summary

  • Add scripts/ci/affected-crates.py that uses cargo metadata + git diff to compute affected crates via the workspace dependency DAG, then scopes cargo build and cargo nextest run to only those crates
  • Fix two detection blind spots: core/iobuf and core/server-ng were not covered by any component in components.yml
  • Split rust-simulator out of rust-cluster so simulator-only changes don't trigger Python/Node/Go/Java/C# SDK tests

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.69%. Comparing base (af92730) to head (43264cb).

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3095      +/-   ##
============================================
- Coverage     72.73%   72.69%   -0.04%     
  Complexity      943      943              
============================================
  Files          1117     1117              
  Lines         96342    96342              
  Branches      73541    73557      +16     
============================================
- Hits          70070    70034      -36     
- Misses        23722    23737      +15     
- Partials       2550     2571      +21     
Components Coverage Δ
Rust Core 73.45% <ø> (-0.04%) ⬇️
Java SDK 62.30% <ø> (ø)
C# SDK 69.10% <ø> (-0.33%) ⬇️
Python SDK 81.43% <ø> (ø)
Node SDK 91.44% <ø> (+0.12%) ⬆️
Go SDK 38.97% <ø> (ø)
see 23 files with indirect coverage changes
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

ci: Rust test suite runs all 43 crates regardless of what changed

1 participant