[OpenAFS-devel] hudson success (i.e. automatically building)

Simon Wilkinson sxw@inf.ed.ac.uk
Tue, 13 Jul 2010 09:39:14 +0100


On 13 Jul 2010, at 00:43, Jason Edgecombe wrote:

> First, I'd like to apologize for posting broken URL's into gerrit, but =
on a good note, I have the hudson continuous integration server =
<http://hudson-ci.org/> working!

That's great - thanks!

> Currently, I have two jobs set up. One just builds the openafs git =
repo after each commit. The other integrates with gerrit, builds a =
change, and verifies each new change.
>=20
> The hudson machine is running Debian Lenny on i386 and building with =
the command "sh regen.sh && ./configure && make"

You probably want to verify with --enable-checking (we expect all new =
code to pass the gcc warnings test). I'm not sure how you're doing the =
git checkout, but if you aren't cloning a new git repository each time, =
you probably want to do a "git clean" before running regen.sh (our =
dependency information is pretty broken)

> There are a few of caveats:
> 1. I haven't seen a gerrit build failure, so I'm not convinced that =
it's really working yet.
> 2. It builds all changes, regardless of the author or approvers.

There are obviously risks here that we'd want to consider before moving =
this onto any OpenAFS machines.

> 3. This is running in a VirtualBox VM on my personal laptop.
>=20
> So, now I will ask, "What now?"

I think the major question now is to what extent Hudson will support =
doing distributed builds. Ideally we'd be able to farm a build job out =
to a community contributed set of buildhosts, so we can get wide =
pre-commit coverage. Given that this is likely to involve building for =
at least 5 platforms, and potentially multiple versions/configurations =
on each architecture, we really want something that will aggregate =
commit results into a single "Verified" message. I know that buildbot =
will do this for us, can Hudson?

In the short term, it would be really good if the verified message could =
indicate the options the build was performed with, and the platform that =
the build occurred on.

Cheers,

Simon.=