don't send emails for waf-svn tree
[amitay/build-farm.git] / web / instructions.html
1 <!--#include virtual="/header.html"-->
2 <title>samba.org build farm</title>
3 <!--#include virtual="/header2.html"-->
4 <!--#include virtual="/header3.html"-->
5
6 <h2>Adding a machine to the build farm</h2>
7
8 <p>
9 If you have a machine that you wish to add to our build farm then please follow the following instructions:
10 </p>
11
12 <ul>
13
14   <li>Decide if your machine is suitable for the task:
15   <ul>
16     <li>Is it a production machine?</li>
17     <li>Is it security-sensitive?</li>
18     <li>Look at the output from the existing machines - would publishing
19     file-system locations and IPs be a concern?</li>
20     <li>The nature of the task is that executable code is downloaded from
21     (a site claiming to be) samba.org, and run on your machine by cron.
22     Does this bother you?</li>
23     <li>Is this somebody else's machine?</li>
24   </ul>
25   If you answer yes to <em>any</em> of these these questions, then we probably
26   should not include it on the build farm.</li>
27   
28   <li>See if it is an OS/architecture combination that we already
29   have. If it is then we won't need it unless the current machine we
30   have covering that combination goes away for some reason.  </li>
31
32   <li><p>Make sure your machine is able to open an outgoing TCP connection
33   to build.samba.org on port 873 (the rsync port). Test this by running
34   <pre>
35     rsync build.samba.org::
36   </pre>
37   and seeing if you get back the list of rsync modules.</p>
38   <p>
39   Note: there has been reports that rsync will work via http proxy. A simple
40   <pre>
41      export RSYNC_PROXY=cache:3128
42   </pre>
43   before running rsync should be all that is needed.</p></li>
44
45   <li>If all is OK then create an account called "build" on the
46   machine. If you can't create accounts then you can use an existing
47   account, no special privileges are needed, just change ~build to your
48   home directory in the instructions below.</li>
49
50   <li>Make sure a recent version of <a href="http://rsync.samba.org/">rsync</a>
51   is installed on the machine</li>
52
53   <li>Create a directory ~build/build_farm/. You will need about 120MB of
54   free space for this directory.</li>
55
56   <li>(optional) Install <a href="http://ccache.samba.org">ccache</a>
57   and set a reasonable cache size (300MB would be plenty).  This
58   massively reduces the compilation times and system load for certain
59   changes.</li>
60
61   <li>Grab the script build_test from cvs or from <a
62   href="http://www.samba.org/ftp/unpacked/build_farm/build_test">http://www.samba.org/ftp/unpacked/build_farm/build_test</a>
63   and put it in ~build/build_farm/ .</li>
64
65   <li>Edit the script if necessary to update the location of the build_farm
66   directory.</li>
67
68   <li>Tell <a href="mailto:build@samba.org">The build farm
69   maintainers</a> the name of your machine (as given by the hostname
70   command) and its OS and architecture plus what C compilers are
71   installed. One of the team will send you a password. Put that in a
72   file called ".password" in the build_farm directory.</li>
73
74   <li>Run the script build_test once manually and make sure the build ran OK.
75   Look in build.log for errors.</li>
76   
77   <li>Setup a cron job to run build_test regularly. You may wish to use
78   "nice" to reduce its priority, for example I use the following cron
79   entry:
80   <pre>
81     0,30 * * * * /bin/nice /home/build/build_farm/build_test 2> /home/build/cron.err
82   </pre>
83   </li>
84   <li>Check that <a href="http://build.samba.org/">build.samba.org</a>
85   is showing your new host and that it is being updated regularly. </li>
86   
87 </ul>
88 <p>
89   Note that only a very small amount of bandwidth is used. 
90   Andrew Bartlett reports having seen 6 of the boxes in the farm from behind a
91   modem, and it only used a tiny proportion of that modems bandwidth.  
92   He also reports having had 2 of the machines behind a modem - dial-up links
93   are fine too.
94 </p>
95 <p>Thanks!</p>
96
97 <!--#include virtual="/footer.html" -->