[systemd-devel] Broken build and CI strategy

David Strauss david at davidstrauss.net
Sun Jul 14 13:52:49 PDT 2013


Sorry for not chiming in earlier. I was traveling with limited connectivity.

I added the CI because I was frustrated with the frequency of my
"master" clone builds failing and, more importantly, the duration they
would remain broken. By "failing," I mean actually failing to build,
not build *and* pass tests. Jenkins not only raises a lot of attention
when this happens in IRC and by emailing me, but it also only updates
the GitHub mirror on successful builds. So, if you need to clone
something that will build, clone from GitHub. If nothing else, you can
use the tip on GitHub as an indicator of a working HEAD.

Most of the build failures in Jenkins these days come from new
dependencies or increased minimum library versions. I try to fix those
issues the same day, and I think I've always succeeded in doing so.

I can't enable global "make check" of systemd builds in CI until we
fix the TTY dependency or I do research on how to run the tests with
TTY support within Jenkins. Personally, I'd rather see the checks
improved to not require a TTY or to provide the wrapping TTY for the
necessary tests. I have agreed in anther email exchange to look into
enabling specific "make check"s that don't require TTY. I keep the
dummy "make test" as a reminder that we really ought to be automating
post-build tests.

I'm also happy to delegate more access to the CI box if others would
like to improve the test integration. I'd like to throw in more static
analysis, too.

David


More information about the systemd-devel mailing list