Changes between Version 50 and Version 51 of BuildBot


Ignore:
Timestamp:
Feb 9, 2021 8:39:49 AM (9 months ago)
Author:
aakash_jain@apple.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildBot

    v50 v51  
    11= !WebKit !BuildBot =
    22
    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.
     3The [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
    44
    55
    6 == Running a Build Slave ==
     6== Running a Build Worker ==
    77
    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.
     8Each 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.
    99
    10 Please ensure that you are familiar with [http://webkit.org/building/build.html building WebKit] from source so that problems getting the slave up and running can be easily troubleshooted. The machine will need to have:
     10Please 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:
    1111
    1212
     
    1515 1. Subversion installed and accessible on the `PATH`.
    1616 1. Set the computer to not go to sleep (under Energy Saver in System Preferences)
    17  1. Install !BuildBot
    18     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`
    1919
    2020
    2121==== Mac requirements ====
    2222
    23  1. Everything in http://webkit.org/building/tools.html
     23 1. Everything in https://webkit.org/building/tools.html
    2424
    2525==== Cygwin Win requirements ====
    2626
    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)
    2828    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.
    2929    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]
    3232 1. Set the following registry key:
    3333{{{
     
    7474 1. Probably need to `sudo apt-get install geoclue libsoup`. (To be verified and moved to BuildingGtk).
    7575
    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 =
    7977
    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.
    8983
    9084
     
    10599
    106100= Running buildbot master locally =
    107 The following instruction describes how to run a buildbot master on Snow Leopard.
     101The following instruction describes how to run a buildbot master.
    108102
    1091031. 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
    113108
    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
     1092. Creating a master
     110    1. Checkout WebKit repository and cd to Tools/CISupport/build-webkit-org
     111    2. Run {{{buildbot create-master}}}
    122112    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
     1143. Start / Stop buildbot
     115    {{{buildbot start}}} or {{{buildbot stop}}} inside the directory you recreated in step 2.
     116
     1174. Start / Stop build worker
     118    1. Modify worker's buildbot.tac
    128119        * Set buildmaster_host to 'localhost' or whatever machine you're running master on
    129120        * 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.2
    131     2. {{{buildslave start}}} 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.