Hi Folks,
At the last Wine conference, I volunteered to find a home for the WineTestBot that Ge's brother has been hosting, and to take over the Buildbot that Dan and Austin have been so diligently maintaining.
This is an update on that project, mostly to help keep my procrastinating self moving it along.
First, we have a lovely set of hardware; 4 servers, in a dedicated rack, with a dedicated static ip to the outside world. One server is the gateway, 2 are dedicated Linux test systems (with nice fast processor + gpus), and one is a beefy system capable of running many VMs.
The plan was to move the existing VMWare based WineTestBot to this hardware and simply get the existing system up and running on the new hardware.
Here we hit our first snag; the VMWare folks are not willing to provide a permanent license for VMWare to us.
So, we've shifted gears, and are exploring whether something like qemu + kvm would be a sufficient alternate. I've done a little of this work, and Maarten is hopefully going to help me try converting the existing VMs to see if we can save any hassle by doing a conversion.
In parallel, I learned a great deal about buildbot and the buildbot system that Dan has built.
There are two especially valuable and useful functions provided by this buildbot: the first is essentially a patch watcher; a process that catches simple mistakes (e.g. build errors on different architectures, and so on). The second is more powerful and is encapsulated by the 'dotests.sh' shell script.
The dotests.sh script does a good job of basically running make test and noticing any test failures outside of 'the usual ones'. There is an infrastructure for
Buildbot is a good tool, and I invested a lot of energy into it (as have Dan and Austin).
However, Alexandre has persuaded me that we should first explore integrating the dotest.sh functionality into the existing WineTestBot, as that would allow us to have a very simple clean web page, and would also allow us to integrate most cleanly with Alexandre's back end tools.
Of course, WineTestBot is Perl code, and my Perl fu is low. So I have recently asked Francois to help with that effort as well.
So the basic plan is as follows:
1. Test qemu/kvm with a few Windows versions to see if it'll work.
2. If so, modify WineTestBot to use qemu instead of vmware. (This is 'easy' because the WineTestBot code nicely isolates the VM functions, but 'hard', because VMWare provides some APIs that may have to be replicated).
3. Migrate WineTestBot to the new hardware stack
4. Write new code to run 'dotests.sh' as part of WineTestBot
Cheers,
Jeremy