Home | History | Annotate | Download | only in docs
      1 ===================================================================
      2 How To Add Your Build Configuration To LLVM Buildbot Infrastructure
      3 ===================================================================
      4 
      5 Introduction
      6 ============
      7 
      8 This document contains information about adding a build configuration and
      9 buildslave to private slave builder to LLVM Buildbot Infrastructure
     10 `<http://lab.llvm.org:8011>`_.
     11 
     12 
     13 Steps To Add Builder To LLVM Buildbot
     14 =====================================
     15 Volunteers can provide their build machines to work as build slaves to
     16 public LLVM Buildbot.
     17 
     18 Here are the steps you can follow to do so:
     19 
     20 #. Check the existing build configurations to make sure the one you are
     21    interested in is not covered yet or gets built on your computer much
     22    faster than on the existing one. We prefer faster builds so developers
     23    will get feedback sooner after changes get committed.
     24 
     25 #. The computer you will be registering with the LLVM buildbot
     26    infrastructure should have all dependencies installed and you can
     27    actually build your configuration successfully. Please check what degree
     28    of parallelism (-j param) would give the fastest build.  You can build
     29    multiple configurations on one computer.
     30 
     31 #. Install buildslave (currently we are using buildbot version 0.8.5).
     32    Depending on the platform, buildslave could be available to download and
     33    install with your packet manager, or you can download it directly from
     34    `<http://trac.buildbot.net>`_ and install it manually.
     35 
     36 #. Create a designated user account, your buildslave will be running under,
     37    and set appropriate permissions.
     38 
     39 #. Choose the buildslave root directory (all builds will be placed under
     40    it), buildslave access name and password the build master will be using
     41    to authenticate your buildslave.
     42 
     43 #. Create a buildslave in context of that buildslave account.  Point it to
     44    the **lab.llvm.org** port **9990** (see `Buildbot documentation,
     45    Creating a slave
     46    <http://buildbot.net/buildbot/docs/current/full.html#creating-a-slave>`_
     47    for more details) by running the following command:
     48 
     49     .. code-block:: bash
     50 
     51        $ buildslave create-slave <buildslave-root-directory> \
     52                     lab.llvm.org:9990 \
     53                     <buildslave-access-name> <buildslave-access-password>
     54 
     55 #. Fill the buildslave description and admin name/e-mail.  Here is an
     56    example of the buildslave description::
     57 
     58        Windows 7 x64
     59        Core i7 (2.66GHz), 16GB of RAM
     60 
     61        g++.exe (TDM-1 mingw32) 4.4.0
     62        GNU Binutils 2.19.1
     63        cmake version 2.8.4
     64        Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
     65 
     66 #. Make sure you can actually start the buildslave successfully. Then set
     67    up your buildslave to start automatically at the start up time.  See the
     68    buildbot documentation for help.  You may want to restart your computer
     69    to see if it works.
     70 
     71 #. Send a patch which adds your build slave and your builder to zorg.
     72 
     73    * slaves are added to ``buildbot/osuosl/master/config/slaves.py``
     74    * builders are added to ``buildbot/osuosl/master/config/builders.py``
     75 
     76 #. Send the buildslave access name and the access password directly to
     77    `Galina Kistanova <mailto:gkistanova (a] gmail.com>`_, and wait till she
     78    will let you know that your changes are applied and buildmaster is
     79    reconfigured.
     80 
     81 #. Check the status of your buildslave on the `Waterfall Display
     82    <http://lab.llvm.org:8011/waterfall>`_ to make sure it is connected, and
     83    ``http://lab.llvm.org:8011/buildslaves/<your-buildslave-name>`` to see
     84    if administrator contact and slave information are correct.
     85 
     86 #. Wait for the first build to succeed and enjoy.
     87