[systemd-devel] Broken build and CI strategy

Lennart Poettering lennart at poettering.net
Fri Jun 28 06:10:34 PDT 2013


On Fri, 28.06.13 08:50, Holger Hans Peter Freyther (holger at freyther.de) wrote:

Heya,

> Dear Lennart,
> 
> the systemd build is currently broken[1] and judging from the commit

So, it builds fine ("make check") on Fedora 18/19, which is what I check
against. It also builds fine on Pantheon's Jenkins instance. If it
breaks on Ubuntu, then I am sorry for that, but this is a bit out of my
reach. Ubuntu is not what we test against (Ubuntu doesn't even use
systemd).

I'd be happy to get this fixed, but it's really not that our boundless
unprofessionalism caused this. This kind of issue will always happen,
since we cannot afford a test system that builds systemd for all
distributions of this world. (And Ubuntu *is* kind of an exotic choice
for systemd development.)

> history it appears that this happened more than once. Besides fixing
> the build you might want to consider adopting another strategy.

Well, mistakes do happen. There's no checking possible that would be
truly comprehensive and cover all corner cases. In fact, that's the
whole reason why technologies such as CI exist at all in the first
place.

> In mature software projects the following is quite common:
> 
> a.) Create a .travis.yml, sync your repo to github[2] and have
> travis-ci build your code. My .travis.yml file for systemd is
> here[3]. Travis can send email to the repo owners/travis owners
> on failed builds.

This certainly sounds like a good idea to do. I presume travis uses
Debian or Ubuntu for its builders? That would certainly complement the
Fedora-based Pantheon Jenkins instance nicely.

Is there some IRC bot for travis?

> b.) Use a combination of gerrit/jenkins. E.g. if you don't want
> to have broken builds in master. One would push changes for review to
> Gerrit, these would be automatically build on a Jenkins system
> and if they compile they can be integrated into the main repository.
> The workflow is used in projects like coreboot.

I certainly prefer post-build CIs servers. I think it's OK if things do
break every other month or so, as long as they are fixed quickly.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list