buildbot is no longer used

[Imported from Trac: page HowtoContributeABuildbot, version 40]
exarkun 2020-06-22 14:44:43 +00:00
parent e12ef86473
commit c551b29030

@ -1,42 +1 @@
Contributing a buildbot improves the quality of Tahoe-LAFS and also is integral to defining out supported platforms, as described in [Buildbot Policy](BuildbotPolicy). You can see the results of our buildbot network in the [//buildbot-tahoe-lafs the Buildbot output page]. [BuildBot](BuildBot) is no longer used by Tahoe-LAFS. For information about the project's use of [BuildBot](BuildBot), see [the history](https://tahoe-lafs.org/trac/tahoe-lafs/wiki/HowtoContributeABuildbot?action=history) for this page.
## Prerequisites
1. Install [git](http://git-scm.com/) (ideally using your OS package manager)
1. Install [Python 2.7](https://www.python.org/download/releases/2.7.8/) (ideally using your OS package manager)
1. Install [virtualenv](https://virtualenv.pypa.io/en/stable/) (ideally using your OS package manager)
1. Create a virtualenv for the Buildbot slave: `virtualenv /path/to/environment`
1. Install the Buildbot slave software and dependencies in the virtualenv: `/path/to/environment/bin/pip install buildbot-slave==0.8.14`
1. Use `buildslave` and `buildbot` commands from `/path/to/environment/bin/` in the steps detailed below to configure and start your buildslave (activate the virtualenv to put them on your `$PATH`: `. /path/to/environment/bin/activate`).
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].
It should follow the pattern "YourName OperatingSystemAndVersion py2.x" -- see [existing buildslave names](https://tahoe-lafs.org/buildbot-tahoe-lafs/builders) for examples.
## Get a Password
Email Tahoe-Dev (tahoe-dev_at_tahoe_-_lafs_dot_org) with your slave name 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-tahoe-lafs/waterfall?show_events=true 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.