wiki:BuildBot

Version 15 (modified by wsiegrist@apple.com, 14 years ago) (diff)

webkit-dev is a better choice for bot discussions

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 webkit-dev 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:

General requirements

  1. Subversion installed and accessible on the PATH.
  2. Set the computer to not go to sleep (under Energy Saver in System Preferences)
  3. Install Twisted
    1. Download Twisted 2.5.0 from http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-2.5.0.tar.bz2.
    2. Extract it.
    3. In a shell, change into the Twisted-2.5.0/zope.interface-3.3.0 directory and run sudo python setup.py install
    4. Change back up to the Twisted-2.5.0 directory and run sudo python setup.py install
  4. Install BuildBot
    1. Download the latest version of BuildBot from http://buildbot.net/.
    2. Extract it.
    3. In a shell, change into the buildbot directory and run sudo python setup.py install

Mac requirements

  1. Everything in http://webkit.org/building/tools.html
  2. The Ahem font installed. (Reference?)
  3. Add /System/Library/Frameworks/Python.framework/Versions/2.3/bin/ to your shell's PATH variable.

Win requirements

  1. Everything in http://webkit.org/building/tools.html
    1. For the cygwin install, the actual minimal requirements are: apache, bc, bison, curl, diffutils, flex, gcc, gperf, make, patch, perl, python, readline, ruby, subversion, unzip, zip.
    2. From the instructions, save the file WebKitSupportLibrary.zip in a directory (e.g. c:\deps) and set WEBKITSUPPORTLIBRARIESZIPDIR=c:\deps
  2. Safari 4 and QuickTime
  3. Java
  4. Set the following registry key:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
    "Auto"="0"
    

GTK requirements

  1. See BuildingGtk
  2. Probably need to sudo apt-get install geoclue libsoup. (To be verified and moved to BuildingGtk).

QT requirements

  1. See QtWebKit

Chromium Requirements

  1. See Chromium

Configuring a Build Slave

  1. Open a shell inside a directory suitable to keep the build slaves copy of the WebKit repository.
  2. Run buildbot create-slave WebKit-BuildSlave build.webkit.org:17000 [username] [password]
  3. Change to the WebKit-BuildSlave directory
  4. Rename Makefile.sample to Makefile
  5. Edit info/admin and info/host to contain basic contact information and information about the build slave.
  6. Run make start to start the build slave. Logging information can be viewed by running make log.
  7. Generate an ssh (dsa) key pair and send id_dsa.pub to bdash to allow the machine to upload build results.
  8. 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).

Troubleshooting

On Windows, if you get perl (...) fatal error - unable to remap (...) to same address as parent, you need to run

c:\cygwin\bin\ash
/bin/rebaseall -b 0x50000000 -o 0x80000
exit

or rebase individual files.

Attachments (1)

Download all attachments as: .zip