Welcome to the PyAMF Build Farm!

This is the homepage of the build/test farm for PyAMF, to test portability more conveniently and consistently. We hope this will lead to fewer surprises at release time.


Join the build farm!

We're always looking for people who want to join the build farm, by running PyAMF builds on a box with a stable environment, and using the build farm client software to send result reports to the central server for publication.

Overview

Buildbot uses two terms, buildmaster and buildslave, that mean exactly what you think they do. There is typically one buildmaster, and multiple buildslaves. Most people will want to read about buildslave configuration, which tells how to set up a buildslave client. Buildmaster setup isn't covered here, because it is of interest only to the PyAMF administrators who run the buildmaster server.

Buildslave

  1. Create a user buildslave on your system. The buildslave client will use this user, instead of your regular development user. This is partly for security reasons, but also because part of the point of the build farm is to make sure things work in a relatively untweaked environment.
  2. Create a directory in ~/slaves to be the base directory for PyAMF builds, hereinafter known as the "BASEDIR". For example, ~/slaves/pyamf-builds. The buildslave will not touch anything outside this directory.
  3. Obtain the masterhost, port, your slavename and password from the central administrator.
  4. Initialize the buildslave (the Buildbot docs call this "creating" the buildslave):
  5. buildbot slave BASEDIR MASTERHOST:PORT SLAVENAME PASSWORD
    
  6. Fill in your "hostinfo files", so other people can see the environment your builds run in, and can contact you if something appears to be wrong. BASEDIR/info/admin should contain your name and email address. This will be visible from the build status page; you can munge it to protect from spam address harvesters. BASEDIR/info/host should contain a description of the host: OS, version, memory size, CPU speed, versions of relevant libraries installed, and the version of the buildbot code which is running the buildslave.
    If you run many buildslaves, you may want to create a single ~buildslave/info file and share it among all the buildslaves with symlinks.
  7. Start the buildslave with:
  8. buildbot BASEDIR start
    
  9. Watch the buildslave log file in BASEDIR/twistd.log