Repository navigation
fix(cli): normalize bytecode-cache rel-paths across platforms - #4208
antoniosarosi wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughCache key inputs, manifest paths, and compiler source paths now use portable root-relative paths with ChangesPortable path normalization
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
⏭️ Performance benchmarks were skippedPerf benchmarks (CodSpeed) are opt-in on pull requests — they no longer run on every push. They always run automatically after merge to To run them on this PR, do any of the following, then push a commit (or re-run CI):
|
Binary size checks passed✅ 7 passed
Generated by |
|
Closing — this was an orchestration experiment run; not landing. |
Summary
/separatorsCacheContext::open, manifest collection, compiler output, and LSP consumersRoot cause
Cache keys, manifest entries, and compiled-unit
source_filevalues were rendered with platform-native separators. That made the serialized cache identity platform-dependent and could make key, manifest, or unit lookups disagree at cache boundaries on Windows.The macOS temp-root canonicalization half was already fixed on canary by commit
2660b8b9f, which anchors the cache test roots under a canonical temp base; the four partial-reuse tests were already ungated on this baseline. Real on-disk macOS projects were not affected by that test-harness symlink mismatch because project discovery canonicalizes existing roots and source paths, and the new real-project-style regression confirmsplan_reusereturnsSomewith two clean files and one dirty file.Validation
BAML_CACHE_DEBUG=1 cargo test -p baml_cli plan_reuse -- --nocapture(17 passed)cargo test -p bex_cache relative_paths_use_forward_slashes -- --nocapturecargo test -p baml_compiler2_emit relative_source_paths_use_forward_slashes -- --nocapturecargo clippy -p bex_cache -p baml_compiler2_emit -p baml_cli --tests -- -D warningscargo fmt --all -- --checkFixes B-748
Summary by CodeRabbit