fix(run): discover bundled cross-target runtime libraries - #10224
proggeramlug wants to merge 2 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthrough
ChangesLocal runtime discovery
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to Prebuilt cross-compiled installations can now locate bundled runtime archives for local runs without requiring a source-tree target directory. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 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 |
Summary
perry run --localnow discovers cross-compiled runtime archives in prebuilt installations using the same library search as compilation. A bundled Android runtime next to the executable is accepted even when the project has notarget/directory.Changes
Related issue
Fixes #10209.
Test plan
can_compile_locallyreturns false.cargo test -p perry --bin perry commands::run::entry::tests --no-default-features --features dev-cli -j 3: 4 passed after the fix (unoptimized profile, debug information disabled).python3 scripts/check_node_version_consistency.py: passed.bash scripts/pre-tag-check.sh --quick: all checks passed except public benchmark evidence freshness. The checker, recorded artifact, and all fingerprint inputs are unchanged from basebb9aa5a641; the existing artifact reports that benchmark inputs changed.rustfmt --edition 2021 --check crates/perry/src/commands/run/entry.rsandgit diff --check: passed.The tests validate library discovery without an Android SDK or connected device; an Android application launch was not exercised.
CI status
Current CI failures are in unchanged base inputs: public benchmark evidence freshness (
lint), unusedregistered_extern_handleandwasm_memory_descriptor_maximumfunctions (warnings), and an unregistered raw thread-local declaration inregex/perex_owner.rs(self-test-checkers). This PR changes only local runtime discovery and its tests.