Fix MXC-PR-Build pipeline failures and enable Rust caching#303
Merged
bbonaby merged 1 commit intoMay 13, 2026
Merged
Conversation
96b4b54 to
6879edc
Compare
… install - src/wxc_common/src/logger.rs: cfg-gate the Windows-only diagnostic-pipe body so cargo clippy --target x86_64-unknown-linux-gnu --all-features no longer trips on unreachable_code / unused_variables. - src/wxc_common/src/hyperlight_runner.rs: set a non-empty script_code in the four policy_rejects_* tests; ScriptRunner::run() calls validate_common() before validate_runner(), and the empty default was hitting 'Script content must not be empty' before the policy checks. - src/wxc_common/src/lib.rs + src/lxc/src/main.rs + src/wxc/src/main.rs: the hyperlight feature pulls hyperlight-unikraft-host only on x86_64, so on aarch64 --all-features enables the feature without the dep. Gate the hyperlight_runner module declaration and all 10 consumer cfg sites on cfg(all(feature = hyperlight, target_arch = x86_64)) so aarch64 builds configure them out cleanly. - sdk/tests/unit/test-helpers.ts + sdk/tests/unit/state-aware.test.ts + sdk/tests/unit/sandbox.test.ts: hosted CI agents fail getPlatformSupport().isSupported (Windows-Latest lacks the WIP build the SDK checks for, and Linux agents have no lxc-ls). Export a platformSkip marker from test-helpers and pass it to the describes that go through the binary resolver. buildStateAwareEnvelope and the envelope-shape suites still run on any host. - sdk/tests/integration/isolation-session-state-aware.test.ts: short- circuit on MXC_SKIP_OS_BUILD_DEPENDENT_TESTS (the integration test job already sets it on Windows) so the probeStateAwareRuntime call at module-load doesn't crash on hosts without IsolationSession runtime. - .azure-pipelines/templates/Rust.Build.Job.yml: enable 1ES Rust toolchain + target-dir caching for both Official and PR runs. Fix the enableTests (plural) typo that left enableTest at its default true on every job, including arm64. Set useNextest: false and publishTestResults: false so Setup no longer cargo-installs cargo-nextest (~5 min/x64, ~10 min/arm64 savings); plain cargo test still gates via exit code. co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
6879edc to
e2f01b4
Compare
kanismohammed
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📖 Description
Fix a couple issues that prevented the MXC azure pipeline from succeeded Ing. Note I have made it so that every PR in this repo now runs the azure pipeline templates that our official MXC build runs. This should prevent future PRs from adding changes that break it going forward. Once this is checked in I'll be disabling the GitHub build.yml workflow. Folks can still create and use github workflows for other tasks like the hyperlight and nanvix tests.
Fixes:
logger.rs: cfg-gate Windows-only diagnostics so Linux cargo clippy --all-features stops reporting unreachable_code / unused_variables.
hyperlight_runner.rs: fixed 4 policy_rejects_* tests that failed early on empty script_code, preventing validate_runner() policy checks from running.
SDK unit tests: skip containment-validation tests and state-aware spawn describes on unsupported hosts. 1ES pipelines runners unfortunately are still using win server 2022 and haven't been updated to 2025 yet.
Rust.Build.Job.yml: Remove use of 1ES.Rust tool install task. These install many tools that we don't use and take up ~10 minutes of pipeline time, when we only need clippy. This should speed up Official and PR builds. I have also enabled cacheing as the targets folder to help speed things up as well.
🔗 References
🔍 Validation
✅ Checklist
📋 Issue Type
Microsoft Reviewers: Open in CodeFlow