Personal tools

Buildbot

From MozillaWiki

Jump to: navigation, search

Contents


Buildbot is a continuous integration tool. It is used for running automated builds and tests. Mozilla developers can access the results of buildbot jobs through Tinderboxpushlog and BuildAPI.

Buildbot is being used by Mozilla and other projects, in a number of different ways. This page will serve as the clearinghouse for finding Buildbot-related information. Please try to keep it organized as you add to it.

Unit Testing

Unit testing is now done in the same buildbot instance as nightly Builds. There are no specific docs for unittest buildslave setup anymore. Please refer to ReferencePlatforms doc.

Talos (Performance Testing)

Build/Release Automation

"Try" Server

Mozilla2

Axel's Original Buildbot Requirements

A collection of random things that buildbot should do. Please add your item, what it's supposed to do, and an owner, if applicable.

running python on the slave 
(Axel) Sample impl should be reviewable soon. Major trick is to add an import of your module to the buildbot start script to hook up the registerSlaveCommand
ensure directory on slave 
(Axel) Using the code above
single source checkout per slave 
(Axel) This required a blocking scheduler to make all builds run on one source version per slave, together with a lock per slave that notifies the waiting build steps, in this case, to not check out. For multiple check-out targets, this requires the ....
BuildStepGroup 
(Axel, help-wanted) This groups a set of steps together, so that they don't loose the lock. I have a somewhat working implementation, but I think that the status reporting is wonky.
Download nightly builds on slave 
(nobody) For l10n repackaging, we need to find out when new nightly builds are available, which source time stamp they have, and get them into the right location on the slave.
Compare locales 
(Axel) They python implementation can now run natively in the slave, and report a dict object back for rich log parsing on the master, or in a web-facing post processing.