Clint Branham
ff4853978d
feat(ci): containerize integration tests and add Alpine guest-agent VM
...
Container infrastructure:
- Dockerfile with PowerShell, Pester, Terraform, sshpass,
libguestfs-tools, and proxmox-auto-install-assistant
- build-test-container.yml workflow to build/push image to GHCR
- Image tagged ghcr.io/<repo>/integration-test:latest
Workflow restructure:
- New build job on GitHub-hosted ubuntu-latest (dotnet publish)
- Integration job runs inside Docker container on self-hosted runner
- Module artifact downloaded from build job (no .NET SDK in container)
- Host volumes mounted for PVE ISOs and cached images
Alpine guest-agent VM:
- build-test-image.sh: Downloads Alpine cloud image, installs
qemu-guest-agent via virt-customize, caches on runner
- prepare-test-vm.sh: Deploys image to nested PVE via SCP + qm
importdisk, configures cloud-init, waits for guest agent
Test fixes:
- Get-PveTask: use .Upid property instead of PveTask object ToString()
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 11:26:43 -05:00