[Python-Dev] Possible language summit topic: buildbots (original) (raw)

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sun Oct 25 18:59:47 CET 2009


On 05:47 pm, p.f.moore at gmail.com wrote:

2009/10/25 <exarkun at twistedmatrix.com>:

Perhaps this is a significant portion of the problem.  Maintaining a build slave is remarkably simple and easy.  I maintain about half a dozen slaves and spend at most a few minutes a month operating them. Actually setting one up in the first place might take a bit longer, since it involves installing the necessary software and making sure everything's set up right, but the actual slave configuration itself is one command:

 buildbot create-slave Perhaps this will help dispel the idea that it is a serious undertaking to operate a slave. The real requirement which some people may find challenging is that the slave needs to operate on a host which is actually online almost all of the time.  If you don't such a machine, then there's little point offering to host a slave. I have been seriously considering setting up one or more buildslaves for a while now. However, my biggest issue is that they would be running as VMs on my normal PC, which means that it's the issue of keeping them continually online that hurts me. If I could (say) just fire the slaves up for a set period, or fire them up, have them do a build and report back, and then shut down, that would make my life easier (regular activities rather than ongoing sysadmin works better for me). It sounds like a buildslave isn't really what I should be looking at. Maybe Titus' push model pony-build project would make more sense for me.

Maybe. I wonder if Titus' "push model" (I don't really understand this term in this context) makes sense for continuous integration at all, though. As a developer, I don't want to have access to build results across multiple platforms when someone else feels like it. I want access when I feel like it.

Anyway, BuildBot is actually perfectly capable of dealing with this. I failed to separate my assumptions about how everyone would want to use the system from what the system is actually capable of.

If you run a build slave and it's offline when a build is requested, the build will be queued and run when the slave comes back online. So if the CPython developers want to work this way (I wouldn't), then we don't need pony-build; BuildBot will do just fine.

Jean-Paul



More information about the Python-Dev mailing list