Django CMS's buildbots

Utilities for configuring and running Django CMS's buildbot and build slaves. This is based around zc.buildout and the collective.buildbot recipe.

Credit goes to Jacob Kaplan-Moss who originally wrote the scripts for Django's buildbot.

The master config is here mostly for others to look at for example. The useful bit is in the slave.

Setting up a build slave

  1. Bootstrap zc.buildout:

    cd slave/
  2. Edit slave/buildout.cfg for your environment. The version here has configs for a couple of slaves (one that tests against sqlite, mysql and one against PostgreSQL); it's probably easier to start with just a single slave.

    See the documentation for the build slave recipe for more info on the build slave options.

  3. Give the slave a good, unique name that'll tell what it is and what it does (i.e. debian-5.0_x86-py2.5-sqlite)

  4. Make up a slave password.

  1. Note that the same slave may test multiple branches, so you'll need to make sure that nothing's shared between the slaves. See testsettings/ for one of the things you'll need to do: set TEST_DATABASE_NAME to something that'll be different for each slave.
  1. Create the buildbot by running ./bin/buildout from the slave directory.
  2. Start the slave: ./bin/<my-slave-name> start
  3. Send the buildbot name and password to donald -at- xenofox -dot- com to get added to the master.
  4. Watch your buildbot: if it starts failing because of problems on the server it'll get de-listed.