⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.
wiki:BuildBot

Version 34 (modified by rniwa@webkit.org, 15 years ago) ( diff )

Added instruction to connect to bot master

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 BuildBot
    1. In a shell, sudo easy_install buildbot-slave (sudo easy_install-2.6 buildbot-slave on Snow Leopard)

Mac requirements

  1. Everything in ​http://webkit.org/building/tools.html

Cygwin Win requirements

  1. Everything in ​http://webkit.org/building/tools.html (if creating a builder, use DirectX SDK December 2004, NOT the FEB 2010 version)
    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"
    

Non-cygwin Win Requirements

  1. Install ​Strawberry Perl. Make sure to run perl from the command line at least once. This will set up the library variables.
  2. Install ​Python
  3. Add Python directory on the system PATH variable (Control Panel -> System -> Advanced - > Environment Variables)
  4. Add .PY to the system PATHEXT variable.
  5. Install ​setuptools (This makes it easy to install twisted).
  6. Download ​pywin32, unzip it and run setup install in the unzipped folder.
  7. Run easy_install twisted.
  8. Download ​buildbot-slave zip file, unzip it and run setup install in the unzipped folder.
  9. Install ​Ruby.

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 buildslave create-slave WebKit-BuildSlave build.webkit.org:17000 [username] [password]
  3. Change to the WebKit-BuildSlave directory
  4. Edit info/admin and info/host to contain basic contact information and information about the build slave.
  5. Edit buildbot.tac, changing the umask line to read umask = 022
  6. Run buildslave start to start the build slave.

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.

Running buildbot master locally

The following instruction describes how to run a buildbot master on Snow Leopard.

  1. Install Buildbot
    1. sudo easy_install-2.6 buildbot
    2. sudo easy_install-2.6 simplejson
    3. Add the path buildbot (e.g. /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/)
  2. Add following environment variables (where <WebKitCheckout> is the path to a webkit checkout e.g. /Volumes/Data/webkit)
    • PYTHONPATH=<WebKitCheckout>/Tools/Scripts
    • LC_ALL=en_US.UTF-8
    • LANG=en_US.UTF-8
    • LC_CTYPE=en_US.UTF-8
  3. Create a master (buildbot create-master)
    1. Copy stuff from ​Tools/BuildSlaveSupport/build.webkit.org-config (except buildbot.tac)
    2. Add passwords.json (all slaves in config.json should have a corresponding entry in password.json
  4. Start / Stop buildbots

buildbot start or buildbot stop inside the directory you recreated in step 4.

  1. Start / Stop build slave
    1. Modify slave's buildbot.tac
      • Set buildmaster_host to 'localhost' or whatever machine you're running master on
      • Set port to 17000 by default (different from the port master hosts http server)
      • Set slavename and passwd to one that matches your passwords.js added in 4.2
    2. buildslave start as usual.

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.