Eventually it got to a point it could iterate very quickly and was really only constrained by total system RAM which meant a dozen at most copies could be running simultaneously.
Running Windows desktop tests from Linux with disposable VMs (qawolf.com)
trollbridge 7 hours ago
mcoliver 6 hours ago
trollbridge 6 hours ago
rsolva 6 hours ago
alasano 6 hours ago
mcoliver 5 hours ago
There are so many unknowns and the ability for the agents to dynamically adjust and make decisions allows for some really powerful autonomous workflows.
c-hendricks 3 hours ago
mcoliver 2 hours ago
joinjune 6 hours ago
Luker88 6 hours ago
OneDeuxTriSeiGo 6 hours ago
https://learn.microsoft.com/en-us/windows-hardware/manufactu...
https://learn.microsoft.com/en-us/windows-hardware/manufactu...
jadenlemmon 6 hours ago
xlazom00 5 hours ago
defied 6 hours ago
madduci 6 hours ago
ranger_danger 6 hours ago
ProblemExplorer 6 hours ago
I don't use windows but have to run windows 11 VM to access special devices. I don't want to bother with licenses, although I have them, and creating a new incus QEMU VM from scratch everytime from an ISO takes ~5m, freeing me up from worrying about all the activation and license drama.
If the activation and license setup was easy/automated in QEMU, I would imagine snapshots would be way easier. I would prefer not needing to connect to the internet.
c-hendricks 6 hours ago
Your info might be like decades out of date, since windows 10 it's just been an overlay and locking out some appearance customizations (you can still set them via other means though).
ProblemExplorer 5 hours ago
c-hendricks 3 hours ago
fhn 3 hours ago
itissid 6 hours ago
realusername 6 hours ago
msla 4 hours ago
jadenlemmon 4 hours ago
blahgeek 6 hours ago
jadenlemmon 7 hours ago
This post covers how we added Windows to a test infrastructure built around Linux runners. The central problem was giving each test a clean, logged-in Windows desktop without waiting 2–3 minutes for a VM to boot.
We extended the device scheduler we already use for mobile testing. It maintains warm pools of Windows VMs on GCE. Each test claims a ready VM, uses it once, and releases it. The VM is then destroyed and replaced, rather than cleaned up for the next test.
The test code stays in a Linux pod. Playwright connects to browsers on the Windows machine over CDP, while WebdriverIO and Appium handle native apps through WinAppDriver. A small Go agent captures the desktop with FFmpeg and streams it over WebRTC for live viewing and recordings.
That separation lets a single test move between a browser and a native Windows app without requiring a separate Windows runner pipeline.
The trade-off is that we keep idle Windows VMs ready and install the app under test on every run. In exchange, tests don’t inherit another run’s files, registry changes, or saved sessions.
I’d love to answer any questions!