Open osy opened 3 years ago
Howdy! As someone in the world of DevOps, I have a few questions to help spur discussion.
Thanks, Nick
Great answers!
Couple more questions:
I think booting past bios is probably enough for “success” even though there’s bugs (like usb input) which shows up much later. Currently there’s no way (but if it’s not launched successfully then UTM will error). There are currently no such scripts.
Also full disclosure I plan to overhaul UTM backend pretty soon in order to support new macos 12 virtualization framework so there will be a lot of changes that attempt to decouple QEMU from UTM.
I propose the document Release Test Scenarios which should be used to define the manual/automated test behaviors that we'd want to run.
Obviously the goal would be to automate all the tests that we'd want to run. I'm going to continue on assuming that's the goal.
I'm sure you can tell that your compatibility matrix is absolutely massive with 4 supported platforms, 11 gallery images, and tens of devices. This, combined with the number of tests that should be run will make anything but automation a nightmare.
We have a few ways forward from here:
Assuming we are moving forward with option 1: My proposal is to start with acquiring two mac mini's through Mac Stadium's opensource program or similar for automated testing. We could also look at using the GitHub MacOS devices but I'm pretty sure thats in closed beta. (EDIT: I see its already being used. That could work then.)
From there,
For iOS, its a bit more complicated. We'd likely need to run in the simulator or mirror the device. Maybe Corellium has jailbroken device sims we could look at.
IMO, The start of this shouldn't really pivot around using a specific backend so should be able to move forward either way.
As the complexity of the project grows, we find that often adding a change to QEMU configurations breaks something else unintended. This pretty much happens every single change and is becoming unmanageable. We need an actual test plan:
.utm
files of various operating systems, architectures, and configurations.Then we can have a release sign-off that involves making sure everything is tested.