Re: [Numpy-discussion] Buildbot/continuous integration (was Re: Issue Tracking)
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)
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)
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)
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)
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