You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
--with-nvx builds an NVX-enabled executor and stages bin/openvmm.exe plus guest/* under the Cargo target directory, but the later “Copy binaries into SDK package” block copies only wxc-exec.exe. Since the npm package publishes sdk/node/bin/, the Node SDK advertised by this PR receives an NVX-enabled executable without its platform bundle. Copy the staged NVX directory structure into sdk/node/bin/x64 (and fail if a required file is missing), analogous to the removed NanVix packaging path.
Remove stale workload images when unavailable
src/backends/nvx/build_common/src/lib.rs:185
When workload_images_available is false, this only copies the platform files and leaves any images/distro.erofs, images/runtime.erofs, or images/scratch.ext4 already present in the target directory. Rebuilding after a previous complete/future bundle therefore leaves stale, unverified workload images beside the executor even though the current release manifest says they are unavailable. Remove the known workload-image destinations when the current release omits them before copying the available artifacts.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
The Node NVX builder can emit a guaranteed-invalid mixed-backend payload when allowedProxyPeer is supplied.
Review effort: Balanced Findings: None
Previously missed (1)
In code that hasn't changed since last review
Reject allowedProxyPeer in NVX ProcessContainer payloads
sdk/node/src/sandbox.ts:492
allowedProxyPeer is copied into config.processContainer before this branch, so an NVX policy using that ProcessContainer-only field returns a payload that the native parser always rejects as “Multiple containment backends configured” (Nvx::section_path() is None). Reject the field here instead of emitting an invalid NVX request; add a regression alongside the new NVX payload test.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
The new canonical NVX document contains broken links to a nonexistent upstream branch.
Review effort: Balanced Findings: None
Previously missed (1)
In code that hasn't changed since last review
Update broken links from nonexistent main branch to dev
docs/nvx-backend-gaps.md:212
Both links target a nonexistent main branch in microsoft/nvx; that repository’s active protected branch is dev, so these references currently return 404. Point them at dev (or a pinned commit/tag) so readers can reach the cited guides.
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.
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
Copilot-InstructionsPR modifies Copilot instruction files (.github/copilot-instructions.md or .github/instructions/)
3 participants
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
Replace the experimental NanVix-backed
microvmbackend with the NVX backend identity across MXC.(This is an intentionally breaking structural cutover)
microvmcontainment value, abstract SDK intent, and Cargo feature;nvxin the development contracts and Node SDK;containment: "microvm"requests with guidance to usenvx;✅ Checklist
Cargo.lock, thedependency-feed-checkcheck passes (see docs/pull-requests.md)📋 Issue Type
Microsoft Reviewers: Open in CodeFlow