wiki:HowtoContributeABuildbot

Version 32 (modified by Zancas, at 2014-07-15T22:19:19Z) (diff)

--

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

Anyone who can get their code into the development repos can take control the of the user account running the buildslave process. Therefore, create a dedicated user account to run this process.

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: buildslave 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.

Optional Configurations

You can use other mechanisms to limit the privileges available to the buildslave process/account, 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 separated from each other.