Buildbot

From Apache OpenOffice Wiki
Revision as of 19:49, 1 August 2006 by Dkeskar (Talk | contribs)

Jump to: navigation, search

A buildbot is now deployed for OpenOffice.org. http://ooo-staging.osuosl.org:8010/

From the Buildbot README: http://buildbot.sourceforge.net/

The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention. By running the builds on a variety of platforms, developers who do not have the facilities to test their changes everywhere before checkin will at least know shortly afterwards whether they have broken the build or not. Warning counts, lint checks, image size, compile time, and other build parameters can be tracked over time, are more visible, and are therefore easier to improve.

OpenOffice.org Buildbot

The Buildbot will:

  • Build CWS/SVN branches on multiple platforms and make output available to developers
  • Generate and make available install sets for multiple platforms
  • Run tests (smoketest, performance tests, etc.) and make test reports available for tracking and regression.

Buildbot vs. Tinderbox

Currently, there is a Tinderbox. In fact, the Buildbot uses or adapts several Tinderbox scripts. The Buildbot provides several advantages:

  • At-a-glance, customizable statusboard
  • Flexible, modular, extensible framework
  • Any machine can be easily turned into a buildbot
  • Buildbots can be hosted behind firewalls

Deployment & Hardware

Currently, the botmaster and several buildbots are hosted at OSU-OSL (http://osuosl.org). Additional machines will be added to the pool. Sun QA/RE plans to host a Solaris bot.

Allocation

Many buildbot based projects dedicate groups of bots to specific code branches. Thus, for example, checkins to HEAD will automatically trigger the associated pool of machines and the changes built, tested on multiple platforms. See for example: http://www.python.org/dev/buildbot/

However, this is impractical for OpenOffice.org due the numericity of branches (CWS'es). Instead, we focus on creating a reasonable sized pool of machines for each platform/variant, with flexible build policies (see below).

Currently, bots build for:

  • debian
  • suse 10.0
  • suse 10.1 (jre and gij)
  • suse 7.3 (several)
  • windows xp (3+)

Policies

The bots will be configured with policies that take into account the pool size, machine status and build time. When a bot is busy doing a build, additional requests are automatically queued.

  • At UTC 0200 + random() build HEAD
  • At milestone release build milestone
  • Build manually requested CWS or milestone
  • Build automatically selected CWS

Features

  • When no CWS is provided --> checkout HEAD 'use OpenOffice'
  • Show smoke-test results in status
  • Header Row - provide number/link to last build (related to status)
  • Install Set Yes/No (checkbox) option on requestor form
  • CWS-Oriented View
    • Add header X axis (timeline)
  • Summaries
    • tail, warnings, errors
  • Email notification
    • Send mail to requestor@openoffice.org when finished.

People

  • Prasad Madhav (pmadhav) deployed and customizes the buildbot
  • mikeleib, kaib, vq, dkeskar support and provide ideas
Personal tools