Changes between Version 23 and Version 24 of ContinuousIntegration/TestSlaveConfiguration


Ignore:
Timestamp:
01/31/2013 08:58:15 PM (19 months ago)
Author:
tom.prince
Comment:

Split into sections, add some more details.

Legend:

Unmodified
Added
Removed
Modified
  • ContinuousIntegration/TestSlaveConfiguration

    v23 v24  
     1= Dependencies = 
     2 
    13A build slave which is to run the Twisted test suite on a particular platform or in a particular configuration needs the following software: 
    24 
     
    2426    * Depends on [http://pypi.python.org/pypi/testtools testtools] 
    2527 
     28== OS Configuration == 
     29 
    2630Unfortunately a few tests in Twisted's test suite will fail if certain guarantees are not made by the environment.  For example, the multicast tests try to use the actual network stack to send multicast packets.  Here are some things that are known about this: 
    2731 
     
    3337}}} 
    3438 
    35 A build slave is created with the `buildbot create-slave` command.  This takes the master address, slave name, and slave password as arguments.  The master address is `buildbot.twistedmatrix.com:9987`.  Several other optional arguments are allowed.  It is a good idea to specify a value of around 10 for `--log-count` to avoid unbounded log file growth.  If there are special networking considerations, it may also be useful to specify a value for `--keepalive`.  Other options generally aren't needed. 
     39= Donating a Slave = 
    3640 
    37 If bzr is being used then on the very first build by a new slave a lengthy bzr initialization step is required.  This usually needs to be completed manually after buildbot times out the operation for taking too long.  The command which will fail on buildbot is: 
     41What Buildslaves Do You Want? 
    3842 
    39 {{{ 
    40 bzr checkout svn://svn.twistedmatrix.com/svn/Twisted/trunk Twisted 
    41 }}} 
     43Adding a buildslave is the first step to improving support on a new platform. 
    4244 
    43 with a working directory of `/path/to/slave-root/builder-name/`.  The correct directory should have `Twisted` and `.bzr` directories in it already.  Re-running the failed command in that directory will resume the checkout and eventually succeed (perhaps after quite a long time - dozens of minutes, at least - this is expected). 
     45You are welcome to provide buildslaves for your favorite platforms. They will initially go in to the "unsupported" buildslave category. The only official requirement is that they maintain a high degree of uptime (see [ContinuousIntegration/FixYourDamnBuildSlave]).  
     46 
     47== Procedure == 
    4448 
    4549If you wish to provide a buildslave for twisted, send the follwoing information to buildbot at twisted matrix dot com: 
     
    6165 
    62665. How many parallel builds you want allowed to run. 
     67 
     68== Upgrading Buildslaves == 
     69 
     70Build slaves should in general _not_ be upgraded; the point of having a CI 
     71system is to keep things working not to get more better stuff :).  Now, if we 
     72hit an issue where a builder upgrade would be helpful, and the platform would 
     73have a feature we'd like to test, we will surely let you know, and _then_ might 
     74be a good time to upgrade.   
     75 
     76If you *are* going to be upgrading, you should send out a notification with 
     77each upgrade; shooting an email saying that there are new versions, and noting 
     78if there's a resulting build failure (and filing appropriate tickets), would be 
     79useful. 
     80 
     81== Creating a Slave == 
     82 
     83A build slave is created with the `buildbot create-slave` command.  This takes the master address, slave name, and slave password as arguments.  The master address is `buildbot.twistedmatrix.com:9987`.  Several other optional arguments are allowed.  It is a good idea to specify a value of around 10 for `--log-count` to avoid unbounded log file growth.  If there are special networking considerations, it may also be useful to specify a value for `--keepalive`.  Other options generally aren't needed.