Adding a Slave

Prerequisites & Warning

Slaves execute code directly from the git repo. Even though submits to the git repo are locked down, this is still a possible attack vector for your machine. For this reason it's best to run build slaves within a virtual machine. TODO: link to some VM solutions.

At the very least you should run the buildslave as a separate user (not root!). Slave passwords aren't stored in the git repo for security, you'll need to get Simon or Peter to add new ones.

The buildbot performs full build & test runs with all the options enabled. Please make sure you have all the necessary libraries installed on your system. You need to be able to complete a

Edit ola-slave/info/admin and ola-slave/info/host so your slave shows up correctly.

Then start the slave:

/usr/local/bin/buildslave start ola-slave

You can look at the logs by running

tail -f ola-slave/twistd.log

At this point you can go to http://buildbot.openlighting.org/buildslaves and you should see your slave connected. It's probably worth asking someone to kick off a build at this point so we can check your slave is working.

Finally, if everything looks good, configure your slave to launch on startup by editing the crontab for the ola-build-slave user (crontab -e). Add the following line:

Edit ola-slave/info/admin and ola-slave/info/host so your slave shows up correctly.

Then start the slave:

/usr/pkg/bin/buildslave start ola-slave

You can look at the logs by running

tail -f ola-slave/twistd.log

At this point you can go to http://buildbot.openlighting.org/buildslaves and you should see your slave connected. It's probably worth asking someone to kick off a build at this point so we can check your slave is working.

Finally, if everything looks good, configure your slave to launch on startup by editing the crontab for the ola-build-slave user (crontab -e). Add the following line:

@reboot /usr/pkg/bin/buildslave start /home/ola-build-slave/ola-slave

OpenBSD Instructions

This was tested on OpenBSD 5.4.

Build Slave Installation

As root:

pkg_add py-buildslave

Slave Configuration

Setup a new user:

su -
useradd -m ola-build-slave

Setup the slave:

Switch to the slave user:

su - ola-build-slave
cd ~

Export the variables needed for autoconf and configure on OpenBSD (add these to the .profile or equivalent for next time):

Edit ola-slave/info/admin and ola-slave/info/host so your slave shows up correctly.

Then start the slave:

/usr/local/bin/buildslave start ola-slave

You can look at the logs by running

tail -f ola-slave/twistd.log

At this point you can go to http://buildbot.openlighting.org/buildslaves and you should see your slave connected. It's probably worth asking someone to kick off a build at this point so we can check your slave is working.

Finally, if everything looks good, configure your slave to launch on startup by editing the crontab for the ola-build-slave user (crontab -e). Add the following line:

Edit ola-slave/info/admin and ola-slave/info/host so your slave shows up correctly.

Then start the slave:

buildslave start ola-slave

You can look at the logs by running

tail -f ola-slave/twistd.log

At this point you can go to http://buildbot.openlighting.org/buildslaves and you should see your slave connected. It's probably worth asking someone to kick off a build at this point so we can check your slave is working.

Finally, if everything looks good, configure your slave to launch on startup by editing the crontab for the ola-build-slave user (crontab -e). Add the following line:

@reboot buildbot start /home/ola-build-slave/ola-slave

Enabling the C++ Lint Checker

The lint checker enforces C++ style. We only run this once per change but it's good to have multiple lint-enabled hosts in case one is down.