Skip to content

Investigate VM-based testing tooling for dotfiles validation #58

@kergoth

Description

@kergoth

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:

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: vz for 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions