| 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). |