The Buildbot config itself is contained in https://github.com/buildbot/metabbotcfg, checked out at ~/metabuildbot/metabbotcfg, with a {{{master.cfg}}} symlink pointing into the directory. Note that passwords are contained in the metabbotcfg directory, but are not stored in the git repository.

9

9

10

The builder configuration flows from the slaves. There are three types of builders: compatibility, slave-specific, and purpose-specific. The compatibility builders run a particular version of Python and Twisted to check compatibility. Slaves are tagged with the versions of Python they support, and the builders use virtualenv to install various versions of Twisted. For most of these builders, several slaves are available, allowing better parallelism for faster results.

10

The builder configuration flows from the workers. There are three types of builders: compatibility, worker-specific, and purpose-specific. The compatibility builders run a particular version of Python and Twisted to check compatibility. Workers are tagged with the versions of Python they support, and the builders use virtualenv to install various versions of Twisted. For most of these builders, several workers are available, allowing better parallelism for faster results.

11

11

12

The slave-specific builders attempt to build on a specific slave. This is usually to identify issues unique to that slave, e.g., certain versions of Windows or older SQLite versions in enterprise linux distributions.

12

The worker-specific builders attempt to build on a specific worker. This is usually to identify issues unique to that worker, e.g., certain versions of Windows or older SQLite versions in enterprise linux distributions.

13

13

14

14

Finally, the purpose-specific builders do things like generate documentation, run lint-like tools, or create a coverage analysis.