# 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/
python bootstrap.py

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/postgres.py 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.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.