Changes between Version 50 and Version 51 of BuildBot
- Timestamp:
- Feb 9, 2021, 8:39:49 AM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BuildBot
v50 v51 1 1 = !WebKit !BuildBot = 2 2 3 The [http ://build.webkit.org 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.3 The [https://build.webkit.org WebKit BuildBot] is a Continuous Integration system for post-commit testing to help automate the compile/test cycle. After every commit to WebKit's repository it will schedule compilation and tests on a variety of different computers, known as build workers. For pre-commit testing, please see https://trac.webkit.org/wiki/EarlyWarningSystem 4 4 5 5 6 == Running a Build Slave==6 == Running a Build Worker == 7 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:webkit-dev@lists.webkit.org webkit-dev] if you would like to contribute a build slave.8 Each build worker needs a unique username and password to be able to take part in the compile/test cycle. If you would like to contribute a bot, please add the bot (and builder if applicable) to config.json (using the usual patch submission process) and email [mailto:admin@webkit.org admin@webkit.org] to receive the bot password and Buildbot server restart. 9 9 10 Please ensure that you are familiar with [http ://webkit.org/building/build.html building WebKit] from source so that problems getting the slaveup and running can be easily troubleshooted. The machine will need to have:10 Please ensure that you are familiar with [https://webkit.org/building/build.html building WebKit] from source so that problems getting the bot up and running can be easily troubleshooted. The machine will need to have: 11 11 12 12 … … 15 15 1. Subversion installed and accessible on the `PATH`. 16 16 1. Set the computer to not go to sleep (under Energy Saver in System Preferences) 17 1. Install ! BuildBot18 1. In a shell, `sudo easy_install buildbot-slave` (sudo easy_install-2.6 buildbot-slave on Snow Leopard)17 1. Install !buildbot-worker package: 18 1. In a shell, `sudo pip install buildbot-worker==2.10.1` 19 19 20 20 21 21 ==== Mac requirements ==== 22 22 23 1. Everything in http ://webkit.org/building/tools.html23 1. Everything in https://webkit.org/building/tools.html 24 24 25 25 ==== Cygwin Win requirements ==== 26 26 27 1. Everything in http ://webkit.org/building/tools.html (if creating a builder, use DirectX SDK December 2004, NOT the FEB 2010 version)27 1. Everything in https://webkit.org/building/tools.html (if creating a builder, use DirectX SDK December 2004, NOT the FEB 2010 version) 28 28 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. 29 29 1. From the instructions, save the file WebKitSupportLibrary.zip in a directory (e.g. `c:\deps`) and `set WEBKITSUPPORTLIBRARIESZIPDIR=c:\deps` 30 1. [http ://apple.com/safari/download Safari 4 and QuickTime]31 1. [http ://java.com/download Java]30 1. [https://apple.com/safari/download Safari 4 and QuickTime] 31 1. [https://java.com/download Java] 32 32 1. Set the following registry key: 33 33 {{{ … … 74 74 1. Probably need to `sudo apt-get install geoclue libsoup`. (To be verified and moved to BuildingGtk). 75 75 76 ==== EFL requirements ==== 77 1. See [http://trac.webkit.org/wiki/EFLWebKit EFLWebKit] 78 1. Set ENABLE_DRT=1 in the buildslave's environnment, see [http://trac.webkit.org/wiki/WebKitEFLLayoutTest WebKitEFLLayoutTest] for details. 76 = Configuring a Build Worker = 79 77 80 81 = Configuring a Build Slave = 82 83 1. Open a shell inside a directory suitable to keep the build slaves copy of the !WebKit repository. 84 1. Run `buildslave create-slave WebKit-BuildSlave build.webkit.org:17000 [username] [password]` 85 1. Change to the `WebKit-BuildSlave` directory 86 1. Edit `info/admin` and `info/host` to contain basic contact information and information about the build slave. 87 1. Edit `buildbot.tac`, changing the umask line to read {{{ umask = 022 }}} 88 1. Run `buildslave start` to start the build slave. 78 1. Open a shell inside a directory suitable to keep the worker copy of the !WebKit repository (e.g.: mkdir /Volumes/Data/worker). 79 1. cd to the `worker` directory 80 1. Run `buildbot-worker create-worker --keepalive 120 --umask 022 worker build.webkit.org:17000 [username] [password]` 81 1. Edit `info/admin` and `info/host` to contain basic contact information and information about the bot. 82 1. Run `buildbot-worker start` to start the bot. 89 83 90 84 … … 105 99 106 100 = Running buildbot master locally = 107 The following instruction describes how to run a buildbot master on Snow Leopard.101 The following instruction describes how to run a buildbot master. 108 102 109 103 1. Install Buildbot 110 1. sudo easy_install-2.6 buildbot 111 2. sudo easy_install-2.6 simplejson 112 2. Add the path to buildbot (e.g. /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/) 104 1. sudo pip3 install buildbot==2.10.1 --no-binary :all: 105 2. sudo pip3 install buildbot-console-view==2.10.1 buildbot-waterfall-view==2.10.1 buildbot-worker==2.10.1 buildbot-www==2.10.1 106 3. sudo pip3 install Twisted --no-binary :all: 107 4. sudo pip3 install lz4==3.1.0 six==1.15.0 113 108 114 3. Add following environment variables (where <WebKitCheckout> is the path to a webkit checkout e.g. /Volumes/Data/webkit) 115 * PYTHONPATH=<WebKitCheckout>/Tools/Scripts 116 * LC_ALL=en_US.UTF-8 117 * LANG=en_US.UTF-8 118 * LC_CTYPE=en_US.UTF-8 119 4. Creating a master 120 1. Run {{{buildbot create-master}}} in a new directory 121 2. Copy stuff from [http://trac.webkit.org/browser/trunk/Tools/BuildSlaveSupport/build.webkit.org-config Tools/BuildSlaveSupport/build.webkit.org-config] and override existing files except buildbot.tac 109 2. Creating a master 110 1. Checkout WebKit repository and cd to Tools/CISupport/build-webkit-org 111 2. Run {{{buildbot create-master}}} 122 112 3. Run make_passwords_json.py to generate necessary config files (passwords.json, auth.json and more). 123 4. Revert [http://trac.webkit.org/changeset/87176/trunk/Tools/BuildSlaveSupport/build.webkit.org-config master.cfg change in r87176] locally 124 5. Start / Stop buildbots 125 {{{buildbot start}}} or {{{buildbot stop}}} inside the directory you recreated in step 4. 126 6. Start / Stop build slave 127 1. Modify slave's buildbot.tac 113 114 3. Start / Stop buildbot 115 {{{buildbot start}}} or {{{buildbot stop}}} inside the directory you recreated in step 2. 116 117 4. Start / Stop build worker 118 1. Modify worker's buildbot.tac 128 119 * Set buildmaster_host to 'localhost' or whatever machine you're running master on 129 120 * Set port to 17000 by default (different from the port master hosts http server) 130 * Set slavename and passwd to one that matches your passwords.js added in 4.2131 2. {{{build slavestart}}} as usual.121 * Set workername and passwd to one that matches your passwords.json added in 2.3 122 2. {{{buildbot-worker start}}} as usual.