blob: 3913f358afe9cea1347121c85c361f9eaf5b5752 [file] [log] [blame]
Galina Kistanovaea0a8c92011-10-31 21:13:06 +00001<!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
Galina Kistanovad6956872011-11-02 22:05:18 +000011<h1>How To Add Your Build Configuration To LLVM Buildbot Infrastructure</h1>
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000012<ol>
13 <li><a href="#introduction">Introduction</a></li>
Galina Kistanovad6956872011-11-02 22:05:18 +000014 <li><a href="#process">Steps To Add Builder To LLVM Buildbot</a></li>
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000015</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
Galina Kistanovad6956872011-11-02 22:05:18 +000027<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>
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000030</div>
31
32<!-- *********************************************************************** -->
33<h2><a name="process">Steps To Add Builder To LLVM Buildbot</a></h2>
34<!-- *********************************************************************** -->
35<div>
36
Galina Kistanovad6956872011-11-02 22:05:18 +000037<p>Volunteers can provide their build machines to work as build slaves to
Tobias Grosserd72abcb2011-11-02 19:51:04 +000038 public LLVM Buildbot. Below described recommended steps to implement this
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000039 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
Galina Kistanovad6956872011-11-02 22:05:18 +000046 faster than on the existing one. We prefer faster builds so developers
47 will get feedback sooner after changes get committed.</p></li>
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000048
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
Galina Kistanovad6956872011-11-02 22:05:18 +000057 <a href="http://trac.buildbot.net">http://trac.buildbot.net</a> and
58 install it manually.</p></li>
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000059
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.
Galina Kistanovad6956872011-11-02 22:05:18 +000068 Point it to the lab.llvm.org port 9990<br />
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000069 (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
Galina Kistanovad6956872011-11-02 22:05:18 +000083
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000084 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.
Galina Kistanovad6956872011-11-02 22:05:18 +000092 See buildbot manual for help. You may want to restart your computer to see if it works.</p></li>
Galina Kistanovaea0a8c92011-10-31 21:13:06 +000093
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
Galina Kistanovad6956872011-11-02 22:05:18 +0000103 <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>
Galina Kistanovaea0a8c92011-10-31 21:13:06 +0000110</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>