Home | History | Annotate | Download | only in docs
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
      2                       "http://www.w3.org/TR/html4/strict.dtd">
      3 <html>
      4 <head>
      5   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      6   <title>
      7     How To Add Your Build Configuration To LLVM Buildbot Infrastructure
      8   </title>
      9   <link rel="stylesheet" href="llvm.css" type="text/css">
     10 </head>
     11 <body>
     12 
     13 <h1>How To Add Your Build Configuration To LLVM Buildbot Infrastructure</h1>
     14 <ol>
     15   <li><a href="#introduction">Introduction</a></li>
     16   <li><a href="#steps">Steps To Add Builder To LLVM Buildbot</a></li>
     17 </ol>
     18 <div class="doc_author">
     19   <p>Written by <a href="mailto:gkistanova (a] gmail.com">Galina Kistanova</a></p>
     20 </div>
     21 
     22 <!-- *********************************************************************** -->
     23 <h2><a name="introduction">Introduction</a></h2>
     24 <!-- *********************************************************************** -->
     25 
     26 <div>
     27 
     28 <p>This document contains information about adding a build configuration and
     29    buildslave to private slave builder to LLVM Buildbot Infrastructure
     30    <a href="http://lab.llvm.org:8011">http://lab.llvm.org:8011</a></p>
     31 
     32 </div>
     33 
     34 <!-- *********************************************************************** -->
     35 <h2><a name="steps">Steps To Add Builder To LLVM Buildbot</a></h2>
     36 <!-- *********************************************************************** -->
     37 
     38 <div>
     39 
     40 <p>Volunteers can provide their build machines to work as build slaves to
     41    public LLVM Buildbot.</p>
     42 
     43 <p>Here are the steps you can follow to do so:</p>
     44 
     45 <ol>
     46   <li><p>Check the existing build configurations to make sure the one you are
     47       interested in is not covered yet or gets built on your computer much
     48       faster than on the existing one. We prefer faster builds so developers
     49       will get feedback sooner after changes get committed.</p></li>
     50 
     51   <li><p>The computer you will be registering with the LLVM buildbot
     52       infrastructure should have all dependencies installed and you can
     53       actually build your configuration successfully. Please check what degree
     54       of parallelism (-j param) would give the fastest build.
     55       You can build multiple configurations on one computer.</p></li>
     56 
     57   <li><p>Install buildslave (currently we are using buildbot version 0.8.5).
     58       Depending on the platform, buildslave could be available to download and
     59       install with your packet manager, or you can download it directly from
     60       <a href="http://trac.buildbot.net">http://trac.buildbot.net</a> and
     61       install it manually.</p></li>
     62 
     63   <li><p>Create a designated user account, your buildslave will be running
     64       under, and set appropriate permissions.</p></li>
     65 
     66   <li><p>Choose the buildslave root directory (all builds will be placed under
     67       it), buildslave access name and password the build master will be using
     68       to authenticate your buildslave.</p></li>
     69 
     70   <li><p>Create a buildslave in context of that buildslave account.
     71       Point it to the <b>lab.llvm.org</b> port <b>9990</b> (see
     72       <a href="http://buildbot.net/buildbot/docs/current/full.html#creating-a-slave">
     73       Buildbot documentation, Creating a slave</a>
     74       for more details) by running the following command:</p>
     75 
     76 <div class="doc_code">
     77 <pre>
     78 $ buildslave create-slave <i>buildslave-root-directory</i> \
     79              lab.llvm.org:9990 \
     80              <i>buildslave-access-name buildslave-access-password</i>
     81 </pre>
     82 </div></li>
     83 
     84   <li><p>Fill the buildslave description and admin name/e-mail.
     85       Here is an example of the buildslave description:</p>
     86 
     87 <div class="doc_code">
     88 <pre>
     89 Windows 7 x64
     90 Core i7 (2.66GHz), 16GB of RAM
     91 
     92 g++.exe (TDM-1 mingw32) 4.4.0
     93 GNU Binutils 2.19.1
     94 cmake version 2.8.4
     95 Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
     96 </pre>
     97 </div></li>
     98 
     99   <li><p>Make sure you can actually start the buildslave successfully. Then set
    100       up your buildslave to start automatically at the start up time.
    101       See the buildbot documentation for help.
    102       You may want to restart your computer to see if it works.</p></li>
    103 
    104   <li><p>Send a patch which adds your build slave and your builder to zorg.</p>
    105       <ul>
    106           <li>slaves are added to
    107               <tt>buildbot/osuosl/master/config/slaves.py</tt></li>
    108           <li>builders are added to
    109               <tt>buildbot/osuosl/master/config/builders.py</tt></li>
    110       </ul></li>
    111 
    112   <li><p>Send the buildslave access name and the access password directly
    113       to <a href="mailto:gkistanova (a] gmail.com">Galina Kistanova</a>, and wait
    114       till she will let you know that your changes are applied and buildmaster
    115       is reconfigured.</p>
    116 
    117   <li><p>Check the status of your buildslave on the
    118       <a href="http://lab.llvm.org:8011/waterfall">Waterfall Display</a>
    119       to make sure it is connected, and
    120       <a href="http://lab.llvm.org:8011/buildslaves/your-buildslave-name">
    121       http://lab.llvm.org:8011/buildslaves/<your-buildslave-name>;</a>
    122       to see if administrator contact and slave information are correct.</p>
    123       </li>
    124 
    125   <li><p>Wait for the first build to succeed and enjoy.</p></li>
    126 </ol>
    127 
    128 </div>
    129 
    130 <!-- *********************************************************************** -->
    131 <hr>
    132 <address>
    133   <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
    134   src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
    135   <a href="http://validator.w3.org/check/referer"><img
    136   src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
    137   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a>
    138   <br>
    139   Last modified: $Date: 2011-10-31 12:50:0 -0700 (Mon, 31 Oct 2011) $
    140 </address>
    141 </body>
    142 </html>
    143