[WireGuard] Continuous Integration Server

Jason A. Donenfeld Jason at zx2c4.com
Thu Aug 4 16:53:13 CEST 2016


Hi guys,

Alex Xu and I have been working on polishing the testing
infrastructure. You can now type `make test-qemu` to have a minimal
kernel built, an initramfs forged, and qemu booted with the
ever-growing test suite. On my 4 year-old laptop, it takes roughly two
minutes to compile the kernel, the initramfs, boot qemu, and run the
tests. You can watch it in action here:
https://data.zx2c4.com/wireguard-qemu-test.mp4

I've now put this test suite on a server, running it for every commit,
on 7 different kernels, 4.1-4.7:

    http://build-status.wireguard.io/

It's pretty bare-bones, at the minute. It simply runs this crufty
shell script from a cronjob: http://build-status.wireguard.io/ci.sh

However, on the continuous integration server, it takes closer to an
hour, because it's running on totally ancient hardware that's shared
by several other VMs. This is quite unfortunate, but I don't have
other hardware laying around for it.

If you feel like downloading that `ci.sh` script above, putting it in
a `* * * * *` cronjob, and pointing a webserver to the `builds/`
directory, I'd be happy to point the "builds-status" sub-domain to
your faster hardware. Alternatively, if you don't want to use `ci.sh`,
but would rather put together something even nicer with Jenkins or
Buildbot, I'd be quite happy about that too and would re-point the
sub-domain.

Thanks,
Jason


More information about the WireGuard mailing list