[Numpy-discussion] Continuous Integration

Matthew Brett matthew.brett at gmail.com
Tue May 1 19:21:42 EDT 2012


Hi,

On Tue, May 1, 2012 at 3:22 PM, Chris Ball <ceball at gmail.com> wrote:
> Pauli Virtanen <pav <at> iki.fi> writes:
>
>>
>> 01.05.2012 11:14, David Froger kirjoitti:
>> > Excerpts from Travis Oliphant's message of mar. mai 01 01:39:26 +0200 2012:
>> > > If you have particular reasons why we should choose a particular CI
> service,
>> > > please speak up and let your voice be heard.  There is still time to
>> make
>> > > a difference in what we are setting up.
>> >
>> > Hi all,
>> >
>> > What about  buildbot? (http://trac.buildbot.net/)
>> >
>> > I'm using it currently,  and like it  because is GPL 2,  configuration
> files are
>> > powerful Python scripts, and development team is active and dynamic.
>>
>> We're currently using it: http://buildbot.scipy.org
>> Although, it hasn't been building automatically for some time now.
>
> I've been working on setting up a new buildbot for NumPy. Unfortunately, I
> don't have much time to work on it, so it's slow going! Right now I am still at
> the stage of getting NumPy to pass all its tests on the machines I'm using as
> test slaves. After that, I plan to transfer existing slaves to the new setup,
> and then maybe ask for new volunteer slave machines (if people think the
> buildbot setup is useful).
>
> One nice feature of the new buildbot setup is that it can build and test a pull
> request, reporting the results back via a comment on the pull request.
>
>> It has the following shortcomings:
>>
>> - Apparently, for one master instance, only one project.
>
> As others have said, this is no longer true.
>
>> - Last time I looked, Git integration was poor. Maybe this has
>>   improved since...
>
> Again, as others have said, I think this has been improved since last time you
> looked. Buildbot can receive github notifications or can poll a repository
> periodically.
>
>
> On the other hand, I've also been trying ShiningPanda (https://
> jenkins.shiningpanda.com/scipy/) because I like the idea of a hosted CI
> solution. Again, though, I haven't yet got all the tests to pass on
> ShiningPanda's default Debian 6 setup (and again, that's because of a lack of
> time).

The advantage of having some minimal server as master for buildbot is
that you can very easily add slaves on which you can trigger builds
and get back build logs automatically.  As I understand ShiningPanda
(never used it, just talked to Fernando), you can push your own build
reports up to a ShiningPanda instance, but I hear it's not so easy to
trigger builds and upload reports from external slaves.

By the way, in case it's interesting, here is our master.cfg for the
nipy buildbot; not very pretty, but fairly easy to add a new slave and
a new builder:

https://github.com/nipy/nibotmi/blob/master/master.cfg

and back-of-envelope procedures to set it up:

https://github.com/nipy/nibotmi/blob/master/install.rst

In particular see  'setting up a buildslave' at the end.

Cheers,

Matthew



More information about the NumPy-Discussion mailing list