-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Context
Several testing gaps require VM-based solutions where containers aren't sufficient. This issue tracks research into VM tooling that can serve multiple testing needs:
- Non-Linux platform testing (Investigate non-Linux platform testing (macOS, Windows, FreeBSD) #57) — macOS, Windows, FreeBSD require VMs
- OS installation script testing (Test os-install scripts (Arch, Chimera) via VM-based automation #59) —
script/{distro}/os-installruns from live ISOs, requiring bootable VM environments
Tooling to Evaluate
Local VM Management
- QEMU — Cross-platform, scriptable, supports many architectures and OS types
- UTM — macOS-native frontend for QEMU with Apple Virtualization framework support
- Lima — Linux VMs on macOS, lightweight, good CLI; defaults to QEMU but supports
vmType: vzfor near-native performance via Apple Virtualization.framework - Vagrant — VM orchestration layer over VirtualBox/Hyper-V/libvirt, declarative config
- VirtualBox — Cross-platform, free, well-known but heavier
- Tart — macOS-native, designed for CI, Apple Virtualization framework
CI/CD Options
- GitHub Actions — macOS and Windows runners available; no FreeBSD or ISO boot
- Cirrus CI — FreeBSD support, broader OS matrix
- Self-hosted runners — Full control but maintenance burden
Questions to Answer
- Which tool best supports scriptable, headless VM creation and teardown?
- Can we boot ISOs and run os-install scripts non-interactively?
- What's the minimum viable automation: full CI pipeline vs local-only scripts?
- Cost/complexity trade-offs for each approach
- Can a single tool cover both use cases (platform testing + ISO install testing)?
Related Issues
- Investigate non-Linux platform testing (macOS, Windows, FreeBSD) #57 — Non-Linux platform testing (macOS, Windows, FreeBSD)
- Test os-install scripts (Arch, Chimera) via VM-based automation #59 — OS installation script testing (Arch, Chimera)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels