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