Difference between revisions of "Termite"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Minor typos/grammatical fixes)
m (Minor typos/grammatical fixes)
Line 1: Line 1:
Termite is the going to be the successor to both the [[Tinderbox]] and the [[buildbot]]. The best of both world into the new system. The system will allow the building of OpenOffice.org on a variety of platforms, optionally with fixes too for testing. There will be a cluster and community builders. This page is to gather requirements for Termite. The requirements will be put under headings for each user group.
+
Termite will replace both [[Tinderbox]] and the [[buildbot]], integrating the best of both worlds. This new system will allow the building of OpenOffice.org on a variety of platforms, optionally with fixes for testing. There will be both a cluster and community builders. This page collects and displays pre-requisites for Termite, under headings for each user group.
  
 
==Pre-requisites==
 
==Pre-requisites==
Line 34: Line 34:
 
==Feature Wishlist==
 
==Feature Wishlist==
 
* should not depend on permanent connection to a buildmaster
 
* should not depend on permanent connection to a buildmaster
** should allow for self-contained buildslaves (slave decides what to build & when to build)
+
** should allow for self-contained buildslaves (slave decides what to build and when to build)
** should allow to just send the buildlogs via email
+
** should allow separate sending of the buildlogs via email
** should allow the use of rsync or similar to send the log information, thus allowing a drop in the connection, whilst allowing the live logs when there is a connection.
+
** should allow the use of rsync or similar to send the log information, thus allowing a drop in the connection, while allowing the live logs when there is a connection.
  
 
* should offer a way to manage buildclusters
 
* should offer a way to manage buildclusters
** should allow to remotely start builds on a set of buildslaves
+
** should allow users to remotely start builds on a set of buildslaves
 
** should offer a way to specify additional configure/build flags
 
** should offer a way to specify additional configure/build flags
  
* should present the build-results on a per cws-basis
+
* should present the build-results on a per-cws basis
** should be easy to tell whether a cws was built successfully or not and on what hosts it failed/succeeded
+
** should be easy to tell whether a cws was built successfully or not, and on what hosts it failed/succeeded
** should be able to flag CWSs as "dirty" (i.e. commit was made after the build was started)
+
** should be able to flag CWS as "dirty" (i.e. commit was made after the build was started)
** should optionally offer a CVS/Bonsai integration for a commit-history for that cws (similar to tinderbox)
+
** should optionally offer a CVS/Bonsai integration for a commit history for that cws (similar to Tinderbox)
  
 
* should present the buildlogs in a summarized way
 
* should present the buildlogs in a summarized way
Line 53: Line 53:
 
* Ability to add notes about a build
 
* Ability to add notes about a build
 
* Ability to attach issues to a build
 
* Ability to attach issues to a build
* Ability to see what the pending build(s) is/are
+
* Ability to see details of any pending builds
* Build information pages, should contain a listing of the full configure line that has been used.
+
* Build-information pages should contain a listing of the full "configure" line that has been used.
 
* The ability to select a specific set of languages to build
 
* The ability to select a specific set of languages to build
  

Revision as of 03:32, 10 November 2006

Termite will replace both Tinderbox and the buildbot, integrating the best of both worlds. This new system will allow the building of OpenOffice.org on a variety of platforms, optionally with fixes for testing. There will be both a cluster and community builders. This page collects and displays pre-requisites for Termite, under headings for each user group.

Pre-requisites

User Groups

Who is going to use Termite?

What are the needs of these users?

Cluster Users

A large array of machines that repeatedly build ooo from dirty CWS.

Community Builders

Have their own machines for the more exotic build setups or testing of new Termite features.

  • Build page should show a list of available CWS that can be built
  • Build pages like http://ooo-staging.osuosl.org:8010/MacPort1/builds/50 should have the start/end times for each part of the process
  • The ability to get the mean, max, min, mode, median and and other daft statistical measures for the build times of the individual buildbots.
  • The ability to tell you which module is currently being compiled. n of m, where n is the current module and m is the total number of modules to be compiled.
  • The ability to say why a buildbot is offline (software update, machine in use for something else)
  • Better detection of connection and disconnection
  • The ability to queue builds (when a machine is off-line)
  • The ability to apply a specific patch, without it being included in a specific CWS (primarily for initial testing before a commit)
  • The ability to see information about a buildbot when it is off-line

Testers

Check if builds work properly

  • need to access builds when they are unable to create such builds themselves.
  • when a build has failed, the ability to attach notes to the build, such as why the build failed and related issue numbers in the issue tracker, would prove beneficial when the Termite network is fully utilized.

Coders

Write code which is usually placed into a CWS

  • need to check that their code will compile/run on other OS.
  • run the test suite on any platform.

Feature Wishlist

  • should not depend on permanent connection to a buildmaster
    • should allow for self-contained buildslaves (slave decides what to build and when to build)
    • should allow separate sending of the buildlogs via email
    • should allow the use of rsync or similar to send the log information, thus allowing a drop in the connection, while allowing the live logs when there is a connection.
  • should offer a way to manage buildclusters
    • should allow users to remotely start builds on a set of buildslaves
    • should offer a way to specify additional configure/build flags
  • should present the build-results on a per-cws basis
    • should be easy to tell whether a cws was built successfully or not, and on what hosts it failed/succeeded
    • should be able to flag CWS as "dirty" (i.e. commit was made after the build was started)
    • should optionally offer a CVS/Bonsai integration for a commit history for that cws (similar to Tinderbox)
  • should present the buildlogs in a summarized way
  • should offer to display statistics about a build (buildtime, ...)
  • Ability to add notes about a build
  • Ability to attach issues to a build
  • Ability to see details of any pending builds
  • Build-information pages should contain a listing of the full "configure" line that has been used.
  • The ability to select a specific set of languages to build

UML/Images

File:TermiteUML.png File:TermiteDataTransfer.png

Personal tools