feat: add integration test infra and bootstrapper updates
This commit is contained in:
@@ -30,11 +30,8 @@ Tagged GitHub releases build and upload a precompiled `bootstrap_windows_env.exe
|
||||
.\bootstrap_windows_env.exe --only wsl
|
||||
.\bootstrap_windows_env.exe --no-ai
|
||||
.\bootstrap_windows_env.exe --no-wsl
|
||||
.\bootstrap_windows_env.exe --no-restore-points
|
||||
```
|
||||
|
||||
`--no-restore-points` skips the two System Restore checkpoints in the `os` phase. Use this on Windows Server SKUs (including GitHub Actions `windows-latest` runners), where `Checkpoint-Computer` is not supported.
|
||||
|
||||
## Phases
|
||||
|
||||
`os` runs before any application installation. It invokes Windows Update/Microsoft Update, stops for reboot when required, creates a restore point, runs Chris Titus Tech WinUtil with the managed sane-default config, enables Developer Mode and Windows sudo, applies power/update/UI/store/taskbar defaults, then creates a second restore point before package installation.
|
||||
@@ -49,6 +46,24 @@ Visual Studio Community 2026 is installed as `Microsoft.VisualStudio.Community`
|
||||
|
||||
`wsl` enables WSL prerequisites, installs the current official `FedoraLinux-*` distro reported by `wsl --list --online`, stops for reboot or first-launch username creation when needed, then invokes the latest Linux bootstrap release with `--wsl --headless --yes`.
|
||||
|
||||
## Tests
|
||||
|
||||
Unit tests run on every pull request via `.github/workflows/unit-test.yml`:
|
||||
|
||||
```powershell
|
||||
go test ./...
|
||||
```
|
||||
|
||||
End-to-end integration runs against a real Windows client VM through Vagrant +
|
||||
Hyper-V. It is not run in CI (GitHub-hosted runners are Windows Server and have
|
||||
no Hyper-V), so execute it locally:
|
||||
|
||||
```powershell
|
||||
go run ./test/integration
|
||||
```
|
||||
|
||||
See `test/integration/README.md` for prerequisites, flags, and tuning options.
|
||||
|
||||
## Current Deferrals
|
||||
|
||||
`Webcamoid` is deferred because no exact `winget` manifest was available during implementation. Native Docker Desktop, Podman Desktop, Buildah, Minikube, Firecracker, QEMU, virt-manager, Windows Terminal, and VS Code are also intentionally excluded from Windows v1.
|
||||
|
||||
Reference in New Issue
Block a user