[Python-Dev] Possible language summit topic: buildbots

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 <path> <master address> <slave name> <slave 
>>password>
>>
>>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