Hi there,
thank you for your patience while I was setting up CI, and sorry for the
yesterday's e-mails from Gerrit. I believe that the tools are working
reasonably well now, even though it has quite a few limitations anyway.
So here's what's new -- any time somebody uploads a change, or a new
version of a change, it's picked up by a build node, and tested whether it
still builds and whether the tests pass. If everything is OK in all of the
supported configurations (see below), then that change gets a "Verified: 1"
label in Gerrit. If something failed, it gets a "Verified: -1" and the
change author is supposed to investigate what went wrong.
Right now, the build matrix only contains three jobs:
- Qt 5.3.2, clang 3.4.2, release mode, -Werror on RHEL7
- Qt 4.8.5, GCC 4.8.2, debug mode, -Werror on RHEL7
- Qt 4.6.2, GCC 4.4.7, release mode, -Werror on RHEL6
If there's a flaky test, simply adding "recheck" as a Gerrit comment tries
the test again. Right now, KDE developers can override the CI's verdict by
removing the vote from CI and adding theirs. That's an emergency way of
bypassing the process if something's broken.
For those curious on how it works, it's modelled after OpenStack's own CI
process, with Zuul for controlling what happens and Turbo-Hipster acting as
a job launcher -- basically the plan I talked about at Brno [1]. I would
personally call this setup experimental at this point, so it's likely that
something will change or stuff can break, but it's worked well for 15
minutes already :), and the feedback on e.g. the IPC changes is real.
With kind regards,
Jan
[1] https://conf.kde.org/en/Akademy2014/public/events/140
--
Trojitá, a fast Qt IMAP e-mail client -- http://trojita.flaska.net/