Re: [Numpy-discussion] Buildbot/continuous integration (was Re: Issue Tracking)

2012-02-17 Thread Stéfan van der Walt
On Thu, Feb 16, 2012 at 3:52 PM, Chris Ball ceb...@gmail.com wrote:
 After getting to this initial stage, I'll discuss about adding more
 features (such as testing pull requests, performance testing, building
 binaries on the different operating systems, etc). Also, if it's working
 well, this Buildbot setup could replace/be merged with the one at
 buildbot.scipy.org (I don't know who is currently running that).

That machine is up and running at Stellenbosch University; the main
problem is that it is behind a firewall, and we've had some issues
working around that.  I can gladly share the current configuration,
and the instructions I send out to the maintainers of slave machines
 (I agree--putting it in a Git repo--minus passwords!--is a good
idea).

At the moment, there are three active build slaves: one Windows XP and
two different setups of Linux Sparc.  To trigger a build, click on the
machine name and then Force Build.

Stéfan
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


[Numpy-discussion] Buildbot/continuous integration (was Re: Issue Tracking)

2012-02-16 Thread Chris Ball
Ralf Gommers ralf.gommers at googlemail.com writes: 
...
 While we're at it, our buildbot situation is much worse than our issue
 tracker situation. This also looks good (and free):
 http://www.jetbrains.com/teamcity/

I'd like to help with the NumPy Buildbot situation, and below I propose
a plan for myself to do this. However, I realize there are people who
know more about continuous integration than I do. So, if someone is
already planning to do something, I'd be happy to help with a different
plan instead!


I know how to set up and run Buildbot (and how much effort that takes),
but I'm not familiar with the alternatives, so I can only propose one
concrete plan:

I'll find a machine on which to run a build master, then start to add
slaves (real machines or virtual machines). At first I'll focus on the
NumPy master branch, (a) testing it over different operating systems and
versions of Python and (b) reporting things such as test coverage. I'll
keep the Buildbot configuration in a github project, along with
documentation (in case I disappear...).

After getting to this initial stage, I'll discuss about adding more
features (such as testing pull requests, performance testing, building
binaries on the different operating systems, etc). Also, if it's working
well, this Buildbot setup could replace/be merged with the one at
buildbot.scipy.org (I don't know who is currently running that).


Buildbot is used by some big projects (e.g. Python, Chromium, and
Mozilla), but I'm aware that several projects in the scientific/numeric
Python ecosystem use Jenkins (including Cython, IPython, and SymPy),
often using a hosted Jenkins solution such as Shining Panda. A difficult
part of running a Buildbot service is finding hardware for the slaves
and keeping them alive, so a hosted solution sounds wonderful (assuming
hosted solutions offer an adequate range of operating systems etc).
Also, earlier in the Issue Tracking thread some commercial packages
were mentioned; I don't know anything about those. So, as I said at the
beginning, if someone is already planning to do something (or wants to)
I'd be happy to help with a different plan instead! Otherwise, I can
proceed with the plan I suggested.

Chris

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Buildbot/continuous integration (was Re: Issue Tracking)

2012-02-16 Thread Nathaniel Smith
On Thu, Feb 16, 2012 at 11:52 PM, Chris Ball ceb...@gmail.com wrote:
 Buildbot is used by some big projects (e.g. Python, Chromium, and
 Mozilla), but I'm aware that several projects in the scientific/numeric
 Python ecosystem use Jenkins (including Cython, IPython, and SymPy),
 often using a hosted Jenkins solution such as Shining Panda. A difficult
 part of running a Buildbot service is finding hardware for the slaves
 and keeping them alive, so a hosted solution sounds wonderful (assuming
 hosted solutions offer an adequate range of operating systems etc).

A quick look at Shining Panda suggests that you get no coverage for
anything but Linux, which is a good start but rather limiting. IME by
far the most annoying part of a useful buildbot setup is keeping all
the build slaves up and working. It's one thing to set up a build
environment in one OS, it's quite another to keep like 5 of them
working, each on a different volunteered machine where you don't have
root and the person who does isn't answering email... the total effort
isn't large, but it's really poorly suited to the nature of volunteer
labor, because it needs prompt attention at random intervals. (Also,
this doesn't become obvious until after one's already gotten
everything set up, so then you're stuck limping along because who
wants to start over and build something more maintainable...)

If anyone has existing sysadmin resources then keeping build-slaves
running is a place where they'd be a huge contribution.

-- Nathaniel
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Buildbot/continuous integration (was Re: Issue Tracking)

2012-02-16 Thread Travis Oliphant
The OS X slaves (especially PPC) are very valuable for testing.We have an 
intern who could help keep the build-bots going if you would give her access to 
those machines. 

Thanks for being willing to offer them. 

-Travis


On Feb 16, 2012, at 6:36 PM, Matthew Brett wrote:

 Hi,
 
 On Thu, Feb 16, 2012 at 4:12 PM, Nathaniel Smith n...@pobox.com wrote:
 On Thu, Feb 16, 2012 at 11:52 PM, Chris Ball ceb...@gmail.com wrote:
 Buildbot is used by some big projects (e.g. Python, Chromium, and
 Mozilla), but I'm aware that several projects in the scientific/numeric
 Python ecosystem use Jenkins (including Cython, IPython, and SymPy),
 often using a hosted Jenkins solution such as Shining Panda. A difficult
 part of running a Buildbot service is finding hardware for the slaves
 and keeping them alive, so a hosted solution sounds wonderful (assuming
 hosted solutions offer an adequate range of operating systems etc).
 
 A quick look at Shining Panda suggests that you get no coverage for
 anything but Linux, which is a good start but rather limiting. IME by
 far the most annoying part of a useful buildbot setup is keeping all
 the build slaves up and working. It's one thing to set up a build
 environment in one OS, it's quite another to keep like 5 of them
 working, each on a different volunteered machine where you don't have
 root and the person who does isn't answering email... the total effort
 isn't large, but it's really poorly suited to the nature of volunteer
 labor, because it needs prompt attention at random intervals. (Also,
 this doesn't become obvious until after one's already gotten
 everything set up, so then you're stuck limping along because who
 wants to start over and build something more maintainable...)
 
 If anyone has existing sysadmin resources then keeping build-slaves
 running is a place where they'd be a huge contribution.
 
 Yup - keeping the slaves running is the big problem.
 
 We do have various slaves running here that at least are all
 accessible by me, and Jarrod, and (at a pinch) Fernando, Stefan and
 others.
 
 These are:
 
 XP (when I'm not using the machine, which is the large majority of the time)
 OSX 10.5
 OSX 10.4 PPC
 Linux 32 bit
 Linux 64 bit
 
 These are all real machines not virtual machines.  I'm happy to give
 some reliable person ssh access to the buildslave user on these
 machines.  They won't necessarily be available for all time, they are
 dotted around campus doing various jobs like being gateways, project
 machines, occasional desktops.
 
 See you,
 
 Matthew
 ___
 NumPy-Discussion mailing list
 NumPy-Discussion@scipy.org
 http://mail.scipy.org/mailman/listinfo/numpy-discussion

___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion


Re: [Numpy-discussion] Buildbot/continuous integration (was Re: Issue Tracking)

2012-02-16 Thread Matthew Brett
Hi,

On Thu, Feb 16, 2012 at 10:11 PM, Travis Oliphant tra...@continuum.io wrote:
 The OS X slaves (especially PPC) are very valuable for testing.    We have an 
 intern who could help keep the build-bots going if you would give her access 
 to those machines.

 Thanks for being willing to offer them.

No problem.  The OSX machines should be reliably available.  Please do
put your intern in touch, I'll give her access.

Best,

Matthew
___
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion