Editing Continuous Build

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 66: Line 66:
 
* Run buildbot on the slave system, preferably by starting it automatically when your system boots.  It should be running with the buildbot user ID.
 
* Run buildbot on the slave system, preferably by starting it automatically when your system boots.  It should be running with the buildbot user ID.
  
You may also want to set up '''ccache''' to work with buildbot (strongly recommended to speed up builds).  If you create a directory {{Path|~/buildbot/bin}}, it will be added to the execution PATH when buildbot runs commands on the slave.  This directory can have symbolic links like the following:
+
You may also want to set up ccache to work with buildbot (strongly recommended to speed up builds).  If you create a directory ~/buildbot/bin, it will be added to the execution PATH when buildbot runs commands on the slave.  This directory can have symbolic links like the following:
  
lrwxrwxrwx 1 buildbot buildbot 15 Aug 26 11:39 gcc -> /usr/bin/ccache
+
<pre>
lrwxrwxrwx 1 buildbot buildbot 15 Aug 26 11:40 cc -> /usr/bin/ccache
+
lrwxrwxrwx 1 buildbot buildbot 15 Aug 26 11:39 gcc -> /usr/bin/ccache
lrwxrwxrwx 1 buildbot buildbot 15 Aug 26 11:40 c++ -> /usr/bin/ccache
+
lrwxrwxrwx 1 buildbot buildbot 15 Aug 26 11:40 cc -> /usr/bin/ccache
lrwxrwxrwx 1 buildbot buildbot 15 Aug 31 23:46 gfortran -> /usr/bin/ccache
+
lrwxrwxrwx 1 buildbot buildbot 15 Aug 26 11:40 c++ -> /usr/bin/ccache
 +
lrwxrwxrwx 1 buildbot buildbot 15 Aug 31 23:46 gfortran -> /usr/bin/ccache
 +
</pre>
  
They should point to the actual location of ccache if it is not in {{Path|/usr/bin}}.
+
They should point to the actual location of ccache if it is not in /usr/bin.
  
 
Your system may be behind a firewall.  It does not have to have a distinct public IP address.
 
Your system may be behind a firewall.  It does not have to have a distinct public IP address.
Line 79: Line 81:
 
== Sample Slave Configuration File ==
 
== Sample Slave Configuration File ==
  
You must edit the settings for <code>basedir</code>, <code>slavename</code>, and <code>password</code>.  The <code>basedir</code> should be the absolute and fully expanded name of the directory containing the configuration file.  For example, if the home directory for the buildbot user is {{Path|/var/lib/buildbot}} and your <code>slavename</code> is set to 'debian-x86_64' , then <code>basedir</code> might be {{Path|/var/lib/buildbot/slaves/debian-x86_64}}.  The password should not be anything valuable.  You'll be asked to provide the <code>slavename</code> and <code>password</code> so that they may be added to the master configuration on buildbot.octave.org.  Do '''not''' post the password to the octave-maintainers mailing list.
+
You must edit the settings for basedir, slavename, and password.  The basedir should be the absolute and fully expanded name of the directory containing the configuration file.  For example, if the home directory for the buildbot user is /var/lib/buildbot and your slavename is set to 'debian-x86_64' , then basedir might be '/var/lib/buildbot/slaves/debian-x86_64'.  The password should not be anything valuable.  You'll be asked to provide the slavename and password so that they may be added to the master configuration on buildbot.octave.org.  Do '''not''' post the password to the octave-maintainers mailing list.
  
<syntaxhighlight lang="python">
+
<pre>
 
import os
 
import os
  
Line 124: Line 126:
 
               allow_shutdown=allow_shutdown)
 
               allow_shutdown=allow_shutdown)
 
s.setServiceParent(application)
 
s.setServiceParent(application)
</syntaxhighlight>
+
</pre>
  
 
== Space Requirements ==
 
== Space Requirements ==
  
Building Octave takes a significant amount of disk space.  With debugging symbols, you may need several GB for each build, plus room for ccache (possibly 50GB) if you use it.  If you use a cache size that is larger than the default, you'll need to specify that in the {{Path|.ccache/ccache.conf}} file using a line like
+
Building Octave takes a significant amount of disk space.  With debugging symbols, you may need several GB for each build, plus room for ccache (possibly 50GB) if you use it.  If you use a cache size that is larger than the default, you'll need to specify that in the .ccache/ccache.conf file using a line like
  
max_size = 50G
+
<pre>
 +
max_size = 50G
 +
</pre>
  
 
If the directory containing the build and ccache directories doesn't have sufficient space, then these directory names may point to a separate partition that does have enough space available.
 
If the directory containing the build and ccache directories doesn't have sufficient space, then these directory names may point to a separate partition that does have enough space available.
Line 136: Line 140:
 
== Starting the Slave ==
 
== Starting the Slave ==
  
With everything in place, you can run the slave server with the following commands (assuming that your <code>basedir</code> is {{Path|/var/lib/buildbot/slaves/debian-x86_64}}).
+
With everything in place, you can run the slave server with the following commands (assuming that your basedir is '/var/lib/buildbot/slaves/debian-x86_64').
  
cd ~buildbot/slaves
+
<pre>
sudo -u buildbot buildslave start debian-x86_64
+
cd ~buildbot/slaves
 +
sudo -u buildbot buildslave start debian-x86_64
 +
</pre>
 +
 
 +
If successful, buildbot will respond with
 +
 
 +
<pre>
 +
... FIXME ...
 +
</pre>
  
 
[[Category:Building]]
 
[[Category:Building]]

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: