Skip to content

Latest commit

 

History

History
69 lines (49 loc) · 1.58 KB

README.rst

File metadata and controls

69 lines (49 loc) · 1.58 KB

bbot

This is a framework for higher-level configuration of BuildBot masters, used by BoostPro Computing for its internal testing and by the Ryppl project.

The goal is to efficiently and expressively manage pools of slaves whose resources can be distributed across a variety of build and test jobs.

Features

  • Declarative configuration
  • Avoidance of boilerplate
  • Multiple project support

Projects

A project aggregates:

  • property requirements
  • source repositories
  • build procedures
  • status reporting

Platforms

A platform is a Python tuple describing a combination of properties such as os, compiler toolchain, architecture, python-version, emacs-version, etc.

Slaves

A slave has properties that describe its platform capabilities. A slave property whose value is a list describes a list of possible values for that property. For example, a slave having Python 2.6 and Python 2.7 installed might have a python property with value [ '2.6', '2.7'].

Build Variants

Every project is built on every available platform that satisfies the project's requirements.

Testing

To run the project's tests, invoke nosetests from the top-level directory (in addition to BuildBot, you'll need nose).

Status

This framework is still under heavy development. It evolves in major ways as we discover the need for new capabilities.

Why "bbot?"

Basically, it's short. Better names welcomed.