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