= WebKit BuildBot = The WebKit BuildBot is a system to help automate the compile/test cycle. After every commit to WebKit's Subversion repository it will schedule compilation and tests on a variety of different computers, known as build slaves. == Running a Build Slave == Each build slave needs a unique username and password to be able to take part in the compile/test cycle. Please email [mailto:bdash@webkit.org bdash] if you would like to contribute a build slave. Please ensure that you are familiar with building WebKit from source so that problems getting the slave up and running can be easily troubleshooted. The machine will need to have: * Xcode 2.4 (or greater) installed. * Subversion installed and accessible on the `PATH`. * the Ahem font installed. * If possible, set the computer to not go to sleep (under Energy Saver in System Preferences) === Installing !BuildBot and Dependencies === 1. Install Twisted 1. Download Twisted. 1. Extract it. 1. In a shell, change into the `TwistedSumo-2005-11-06/ZopeInterface-3.1.0c1` directory and run `sudo python setup.py install` 1. Change back up to the `TwistedSumo-2005-11-06` directory and run `sudo python setup.py install` 1. Install !BuildBot 1. Download !BuildBot from http://bdash.net.nz/files/buildbot-webkit.tar.gz 1. Extract it. 1. In a shell, change into the `buildbot` directory and run `sudo python setup.py install` === Configuring a Build Slave === 1. Open a shell inside a directory suitable to keep the build slaves copy of the WebKit repository 1. Add `/System/Library/Frameworks/Python.framework/Versions/2.3/bin/` to your shell's `PATH` variable. 1. Run `buildbot slave WebKit-BuildSlave build.webkit.org:9989 [username] [password]` 1. Change to the `WebKit-BuildSlave` directory 1. Rename `Makefile.sample` to `Makefile` 1. Edit `info/admin` and `info/host` to contain basic contact information and information about the build slave. 1. Run `make start` to start the build slave. Logging information can be viewed by running make log. 1. Generate an ssh (dsa) key pair and send `id_dsa.pub` to bdash to allow the machine to upload build results. 1. Once you recieve login information from bdash, ssh once to buildbot master, thus adding an entry to your knownhosts file (prevents upload script from later hanging).