wiki:HowtoContributeABuildbot

Version 25 (modified by nejucomo, at 2014-07-08T16:15:50Z) (diff)

Mention you need not listen on public IP addresses.

Prerequisites

You'll need git and buildbot-slave before you can proceed.

A buildslave makes TCP connections to the buildmaster, which tahoe-lafs.org operates. You do not need a publicly routable IP address.

Configuration

Create a user account with low privileges to run buildbot.

Optional Configurations

You can use other mechanisms to limit the privileges available to the buildbot, such as jail, chroot, or Solaris Zones. You can optionally use a different user account or other privilege-limiting mechanisms to keep the tahoe-lafs, pycryptopp, and zfec buildslaves (see below) separated.

Name The Buildslave

Choose a name for your buildslave which will fit into the list of buildslave names: buildbot-tahoe-lafs/buildslaves. A hostname would be a good choice.

Get a Password

Email Brian (warner-tahoe_at_lothar_dot_com) and ask for a password.

Create a Buildslave

Execute the following commands:

  • tahoe-lafs: buildbot create-slave $BASEDIR_TAHOE tahoe-lafs.org:9987 $SLAVENAME $PASSWORD
  • zfec: buildbot create-slave $BASEDIR_ZFEC tahoe-lafs.org:12987 $SLAVENAME $PASSWORD
  • pycryptopp: buildbot create-slave $BASEDIR_PYCRYPTOPP tahoe-lafs.org:10998 $SLAVENAME $PASSWORD

Those three use the same $SLAVENAME, $PASSWORD and hostname, but a different $BASEDIR and a different port number.

For the $BASEDIR your can use whatever directory you want.

Then buildbot start $BASEDIR.

Monitor Output

Okay, once you've gotten all this working then we'll see your machine on the buildbot pages and we'll see how well Tahoe-LAFS passes unit tests on your platform.

More Details

The official buildslave creation documentation is here.