Repository navigation
feat(cli): build Windows CLI and validate shared VM behavior across platforms - #92
Merged
Merged
Conversation
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.
Build
pvisor.exeon Windows for direct Linux VM execution, using the samevm-runarguments, guest configuration and authenticated exit handling as Linux and Apple Silicon macOS.Code
pvisor vm-run --rootfs ROOT --cpus N --memory MiB [--readonly DIR] [--firmware LIBRARY] -- /guest-command ...throughpvisor_vm::api. Rootfs writes persist directly.cargo build --locked -p pvisor-cli --bin pvisor; reject unported commands.CI
RUNNER_TEMP, outside restored Cargo caches; existing evidence directories remain protected against overwrite.Validation
During development:
cda63d4b: Windows native builds/WHP, Linux/KVM and macOS conventional tests passed. The Linux Go contract shard initially failed when log observation sawKVM_EXIT_FAIL_ENTRY(reason18446744073709551615). Re-running that shard on the same commit passed the unchanged concurrent-start regression and the complete shard; the CI aggregate passed. The intermittent failure is not yet explained or fixed. Initial failure, passing rerun.Support scope
Windows support covers
vm-run, caller-owned rootfs and an optional read-only share. Job/container workflows, stage/review/apply, networking, snapshots, TUI/replay/Daemon and Windows packaging remain unported. Linux/macOS installations contain four host programs; Windows still needs the firmware DLL and a Linux rootfs/workload.The platform document explains component dependencies, implementation differences and coverage. Hours-long stability, resource-leak baselines and concurrent VMs remain unverified. Strict local macOS Clippy for the full CLI was blocked by existing unused variables in
pvisor-overlay-core/src/apply.rs:1698–1699.