On Wed, 28 Dec 2005 17:43:04 +0100, "\"Martin v. Löwis\"" <[EMAIL PROTECTED]> wrote: >Tim Peters wrote: >> Someone sets up a "buildbot master" > >That's what I now did: > >http://www.python.org/dev/buildbot/ > >I'm not quite sure on a number of concepts: should there >be multiple "slaves" per "builder"? Should I have multiple >factories? How should I pass build-machine specific information >(like: what compiler to use) in the master, or is that a slave >thing? How should I deal with branches?
A slave is an entity capable of performing tasks. It can be asked to perform any task you like, though it may not be able to perform them all if it lacks some requirements. A builder is a particular job. It can be performed by any slave (so long as its requirements are met), or by multiple slaves. A factory defines the work to be done by a builder. If which compiler is being used is an important part of the purpose of a builder (for example, there might be a builder the purpose of which is to test a Python built with GCC 3.4 and another the purpose of which is to test a Python built with GCC 4.0), then it should be specified in the master configuration. If it is not important, then it should be left as general as possible, to allow for the most slaves to be able to complete the task. I have most often seen branches supported by allowing commits to trunk to automatically trigger a build on trunk, while commits to branches do not automatically trigger any builds. Builds on branches can then be explicitly requested when a developer wants to know the state of their branch on various platforms/configurations (often before merging to trunk to know if they are introducing any regressions, but valuable at other times as well). To support branches in this way, you want to use a PBChangeSource with a prefix of "trunk" and when creating build steps, specify a a baseURL of "svn//svn.python.org/projects/python/", and defaultBranch of "trunk". > >Anyhow, I created two "builders", both with the same "slave", >on sparc-sun-solaris2.10, 32-bit mode, gcc. The "python-full" >builder does "svn export", whereas the "python-quick" builder >does "svn update". Each of these is associated with an >AnyBranchScheduler, for both 'trunk' and 'tags/release24-maint'. >Not sure whether this means that the 2.4 release branch >will ever be built (as the SVN steps have a defaultBranch of >"trunk"). I think this means tags/release24-maint won't ever be built automatically (I haven't used AnyBranchScheduler, and I don't know much about schedulers in buildbot in general). You should be able to manually request a build, but for some reason I don't see the form for doing so on the master website (<http://twistedmatrix.com/buildbot/full-2.3> for an example of what this looks like). I'm not sure if this is a buildbot version problem, or if there is just another piece of configuration that needs to be set. Jean-Paul _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com