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

Jason Edgecombe jason@rampaginggeek.com
Tue, 13 Jul 2010 12:42:38 -0400


Jeffrey Altman wrote:
> On 7/12/2010 7:43 PM, Jason Edgecombe wrote:
>   
>> Hi everyone,
>>
>> 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!
>>
>> 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.
>>
>> The hudson machine is running Debian Lenny on i386 and building with the
>> command "sh regen.sh && ./configure && make"
>>
>> 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.
>> 3. This is running in a VirtualBox VM on my personal laptop.
>>
>> So, now I will ask, "What now?"
>>     
>
> I noticed last night that hudson appeared to miss several submissions to
> gerrit.  Gerrit was having some issues at the time of the submissions
> which may have been related.
>
> There are several things that I believe should be done:
>
> (1) setup an account that is not your personal account for the execution
> of your Hudson instance.  This would be for two reasons:
>
>   (a) distinguish what you have personally done from the automated
>       server.
>
>   (b) permit all of the e-mail messages generated as a result of
>       testing to be filtered.
>
> (2) figure out someway of logging the configuration that is being tested
>     (configure script output?) and submitting it with the verified
>     action.   This is critical for determining what platforms and
>     configurations have been tested.  It will be even more important
>     when reported failures to Gerrit or openafs-bugs.
>
> (3) Determine whether or not distributed builds can be supported.
>
>   
>> BTW, I unsuccessfully tried buildbot for a few hours, but hudson was a
>> breeze to set up in only an hour or so.
>>     
>
> buildbot is what is currently used for Heimdal and NetIdMgr.  I would
> like us to try
>
>
> http://github.com/jaysoffian/buildbot/commit/e4c0d458374b9a0ce34c1e9e1c9813015b2e6add
>
> since we know that buildbot does work well for distributed building and
> testing on both UNIX/Linux and Windows.
>
> Some point later this week Secure Endpoints will be trying it out on its
> gerrit instance.
>
> Jeffrey Altman
>
>
>   
I believe that hudson uses gerrit's stream-events interface, which means
that it might miss commits and it won't compile older commits or ones
that were missed.

hudson supports distributed builds, but I'm concerned about the security
of the master. hudson prefers master push vs slave pull, which could be
a problem with clients behind firewalls.

I might be able to try buildbot again, this weekend, but I couldn't find
any good config examples for git.

I created a special ssh key pair for hudson, so it's shouldn't be
difficult to move that to a new gerrit account.

Is it preferred that we go with buildbot?

Please let me know if I should shutdown hudson until I can try for
buildbot again.

Jason