aboutsummaryrefslogtreecommitdiff
path: root/docs/HowToAddABuilder.html
blob: 3913f358afe9cea1347121c85c361f9eaf5b5752 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                      "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>How To Add Your Build Configuration To LLVM Buildbot Infrastructure</title>
  <link rel="stylesheet" href="llvm.css" type="text/css">
</head>
<body>

<h1>How To Add Your Build Configuration To LLVM Buildbot Infrastructure</h1>
<ol>
  <li><a href="#introduction">Introduction</a></li>
  <li><a href="#process">Steps To Add Builder To LLVM Buildbot</a></li>
</ol>
<div class="doc_author">
  <p>Written by <a href="mailto:gkistanova@gmail.com">Galina Kistanova</a>
  </p>
</div>

<!-- *********************************************************************** -->
<h2><a name="introduction">Introduction</a></h2>
<!-- *********************************************************************** -->

<div>

<p>This document contains information about adding a build configuration and 
   buildslave to private slave builder to LLVM Buildbot Infrastructure 
   <a href="http://lab.llvm.org:8011">http://lab.llvm.org:8011</a>
</div>

<!-- *********************************************************************** -->
<h2><a name="process">Steps To Add Builder To LLVM Buildbot</a></h2>
<!-- *********************************************************************** -->
<div>

<p>Volunteers can provide their build machines to work as build slaves to
   public LLVM Buildbot. Below described recommended steps to implement this
   task.</p>

<p>The steps are roughly as follows:</p>

<ol>
  <li><p>Check the existing build configurations to make sure the one you are 
      interested in is not covered yet or gets built on your computer much 
      faster than on the existing one. We prefer faster builds so developers 
      will get feedback sooner after changes get committed.</p></li>

  <li><p>The computer you will be registering with the LLVM buildbot 
      infrastructure should have all dependencies installed and you can 
      actually build your configuration successfully. You can build multiple 
      configurations on one computer.</p></li>

  <li><p>Install buildslave (currently we are using buildbot version 0.8.5). 
      Depending on the platform, buildslave could be available to download and 
      install with your packet manager, or you can download it directly from 
      <a href="http://trac.buildbot.net">http://trac.buildbot.net</a> and 
      install it manually.</p></li>

  <li><p>Create a designated user account your buildslave will be running 
      under.</p></li>

  <li><p>Choose the buildslave root directory (all builds will be placed under 
      it), buildslave access name and password the build master will be using 
      to authenticate your build slave.</p></li>

  <li><p>Then create a build slave in context of that buildslave account.
      Point it to the lab.llvm.org port 9990<br /> 
      (see <tt>http://buildbot.net/buildbot/docs/current/full.html#creating-a-slave</tt>
      for more details) by running the following command:
      <div class="doc_code">
      <pre>
      $ buildslave create-slave <i>buildslave-root-directory</i> lab.llvm.org: 9990 \
      <i>buildslave-access-name buildslave-access-password</i>
      </pre></div></p></li>

  <li><p>Fill the build slave description and admin name/e-mail. 
      Here is an example of the build slave description:
      <div class="doc_code">
      <pre>
           Windows 7 x64
           Core i7 (2.66GHz), 16GB of RAM

           g++.exe (TDM-1 mingw32) 4.4.0
           GNU Binutils 2.19.1
           cmake version 2.8.4
           Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
      </pre></div></p></li>     

  <li><p>Make sure you can actually start the buildslave successfully. Then set 
      up your build slave to start automatically at the start up time.
      See buildbot manual for help. You may want to restart your computer to see if it works.</p></li>

  <li><p>Send a patch which adds your build slave and builder to zorg.<br />
           * slaves are added to<br />
<tt>http://llvm.org/svn/llvm-project/zorg/trunk/buildbot/osuosl/master/config/slaves.py</tt><br />
           * builders are added to<br />
<tt>http://llvm.org/svn/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py</tt></p></li>

  <li><p>Then send the buildslave access name and password directly to 
      <a href="mailto:gkistanova@gmail.com">Galina Kistanova</a> 

  <li><p>Check the status of your buildslave on 
      http://lab.llvm.org:8011/waterfall to make sure it is connected, and 
      http://lab.llvm.org:8011/buildslaves/&lt;your buildslave name&gt; to see 
      if the information is correct.</p></li>

  <li><p>Wait for the first build to succeed and see if it could go faster with 
      higher degree of parallelism (-j param).</p></li>
</ol>

</div>

<!-- *********************************************************************** -->
<hr>
<address>
  <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
  src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
  <a href="http://validator.w3.org/check/referer"><img
  src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
  <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a>
  <br>
  Last modified: $Date: 2011-10-31 12:50:0 -0700 (Mon, 31 Oct 2011) $
</address>
</body>
</html>