Repository navigation
REQ 021
The Ubuntu-LabVIEW provisioning workflow shall support running its own orchestration from either a Linux or a Windows self-hosted provisioner host, with behaviorally equivalent Linux (build-virtualbox.sh) and Windows (build-virtualbox.ps1) adapter scripts taking the same identity parameters (VmName/VM_NAME, BaseFolder/BASEFOLDER, SshHostPort/SSH_HOST_PORT, GuestFullName/GUEST_FULLNAME, GuestHostname/GUEST_HOSTNAME). Parity is at the adapter-script/parameter level specifically, not phase-by-phase: 6 of provision-ubuntu-vm.yml's 10 real phases (inspect-public, console-fingerprint, repair-ssh-console, restart-public, repair-public, resume-public) are deliberately one-OS-only per .github/scripts/validate-vm-provisioning-dispatch.py's own WINDOWS_ONLY_PHASES/LINUX_ONLY_PHASES sets.
The host that happens to be available to run the orchestrator should not constrain which guest OS family can be provisioned, for the phases both hosts are expected to run.
provision-ubuntu-vm.yml's runs-on is computed from the runner_os dispatch input (linux or windows); its "Validate Linux Adapter Plan"/"Validate Windows Adapter Plan" steps are mutually exclusive on runner.os and invoke the two adapter scripts with the same parameter set.
Code review of provision-ubuntu-vm.yml's dual adapter-plan validation steps and validate-vm-provisioning-dispatch.py's phase/OS sets.
Software-Requirements-Specification
Medium
Code review of the mutually-exclusive adapter-plan validation steps
.github/workflows/provision-ubuntu-vm.yml, vm/ubuntu-labview/build-virtualbox.sh/.ps1
Verified (manual)