refactor: create top level rust workspace - #3666
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #3666 +/- ##
=======================================
Coverage 77.78% 77.79%
=======================================
Files 1287 1287
Lines 123467 123480 +13
Branches 10822 10822
=======================================
+ Hits 96044 96059 +15
Misses 24281 24281
+ Partials 3142 3140 -2
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 6 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Greptile SummaryThis change consolidates the Rust projects into a root Cargo workspace, separates the ray-tracing and MLS-planner Python bindings into dedicated cdylib crates, and updates bake/native-module builds to use the shared repository target directory. Verified that locked workspace metadata resolves both binding crates, T-Rex validation blocked
Confidence Score: 5/5No actionable defect was found in the exercised workspace, native-extension, or MLS planner build flows. The root workspace, complete Rust test suite, extracted binding builds, Python imports, public constructors, and MLS planner output path were exercised successfully. The incomplete bake and example build checks did not demonstrate a code defect. Files Needing Attention: No files require changes from this review. If additional assurance is desired, rerun the focused checks for
What T-Rex did
|
Contribution path
Problem
Past me thought it would be a good idea to put each rust module in its own workspace. Past me also didn't care as much as current me about CI runtime and code organization. Even though there is a ton of dependency overlap, each crate would rebuild all dependencies itself.
Solution
rliband the ffi crate ascdylibinstead of doing both in oneNow building is a lot faster (especially important in CI) because each module can share the appropriate build artifacts.
this was also making cargo clippy take a horrible amount of time during precommit
How to Test
AI assistance
Checklist