| | 1 | = WebKit BuildBot = |
| | 2 | |
| | 3 | 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. |
| | 4 | |
| | 5 | |
| | 6 | == Running a Build Slave == |
| | 7 | |
| | 8 | 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. |
| | 9 | |
| | 10 | 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: |
| | 11 | |
| | 12 | * Xcode 2.4 (or greater) installed. |
| | 13 | * Subversion installed and accessible on the `PATH`. |
| | 14 | * the Ahem font installed. |
| | 15 | * If possible, set the computer to not go to sleep (under Energy Saver in System Preferences) |
| | 16 | |
| | 17 | === Installing BuildBot and Dependencies === |
| | 18 | |
| | 19 | 1. Install Twisted |
| | 20 | 1. Download Twisted. |
| | 21 | 1. Extract it. |
| | 22 | 1. In a shell, change into the `TwistedSumo-2005-11-06/ZopeInterface-3.1.0c1` directory and run `sudo python setup.py install` |
| | 23 | 1. Change back up to the `TwistedSumo-2005-11-06` directory and run `sudo python setup.py install` |
| | 24 | 1. Install BuildBot |
| | 25 | 1. Download BuildBot. |
| | 26 | 1. Extract it. |
| | 27 | 1. In a shell, change into the `buildbot` directory and run `sudo python setup.py install` |
| | 28 | |
| | 29 | === Configuring a Build Slave === |
| | 30 | |
| | 31 | 1. Open a shell inside a directory suitable to keep the build slaves copy of the WebKit repository |
| | 32 | 1. Add `/System/Library/Frameworks/Python.framework/Versions/2.3/bin/` to your shell's `PATH` variable. |
| | 33 | 1. Run `buildbot slave WebKit-BuildSlave build.webkit.org:9989 [username] [password]` |
| | 34 | 1. Change to the `WebKit-BuildSlave` directory |
| | 35 | 1. Rename `Makefile.sample` to `Makefile` |
| | 36 | 1. Edit `info/admin` and `info/host` to contain basic contact information and information about the build slave. |
| | 37 | 1. Run `make start` to start the build slave. Logging information can be viewed by running make log. |
| | 38 | 1. Generate an ssh (dsa) key pair and send `id_dsa.pub` to bdash to allow the machine to upload build results. |
| | 39 | 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). |