Article edited by dbart 1 year, 11 months ago

Selected Revision
Revision
919
User
dbart
Date
2010-06-17 00:34
Compare To
Revision
905
User
dbart
Date
2010-06-16 21:31
Additions Deletions

Answer Diff [1]

== Overview of Buildbot ¶

The current state of the MariaDB trees with respect to build or test failures is always available from the
[[http://buildbot.askmonty.org/buildbot/|Buildbot setup]] page. ¶

* [[http://buildbot.askmonty.org/buildbot/waterfall?branch=5.1|MariaDB-5.1 waterfall status page.]] ¶
* [[http://buildbot.askmonty.org/buildbot/waterfall?branch=5.2|MariaDB-5.2 waterfall status page.]] ¶

The BuildBot setup polls the Launchpad trees every 5 minutes for ¶
changes. Whenever a new push is found in one of our trees, the new ¶
code is compiled and run through the test suite. ¶

If all platforms are green after this, everything is good. If not, it ¶
means there is a problem with the push, and someone needs to look into ¶
it ASAP. If it was your push, then the someone who needs to look at it ¶
is you! ¶

BuildBot is a generic, GPL'ed program providing a continuous ¶
integration test framework. For more information on BuildBot, see the ¶
[[http://buildbot.net/trac|the BuildBot project homepage]]. ¶

== Volunteering to run a build slave ¶

Many of our build hosts are run by community members, and we are always looking for additional volunteers to help us cover additional platforms or build options in BuildBot. ¶

If you are able to provide a spare machine for this purpose, your help is greatly appreciated! This is a good way to get involved without having to spend a lot of time on it. Get started by writing an email to maria-developers@lists.launchpad.net with an offer to run a BuildBot slave. ¶

== Setting up the slave BuildBot ¶

See [[Buildbot Setup]]. ¶

=== Pausing mysql-test-run.pl ¶

Sometimes you need to work when your computer is busy running tests ¶
for buildbot. We've added a new feature to the mysql-test-run.pl ¶
script which allows you to stop it temporarily so you can use your ¶
computer and then restart the tests when you're ready. ¶

To do this, define the environment variable "MTR_STOP_FILE". Whenever ¶
the file specified by this environment variable exists, the ¶
mysql-test-run.pl script will stop as soon as it is able to do so ¶
(i.e. it won't stop immediately). When the file is removed, the ¶
mysql-test-run.pl script will continue from where it left off. ¶

If you plan on using this feature you should also set the ¶
"MTR_STOP_KEEP_ALIVE" environment variable with a value of 120. This ¶
will make the script print messages to buildbot every 2 minutes which ¶
will prevent a timeout. ¶

== Database with test results ¶

Buildbot saves the results of test runs in a database, to be used for ¶
enhanced reporting on web pages without need to change the Buildbot ¶
code, and for data mining when investigating test failures. ¶

The database schema is documented under [[Buildbot Database Schema]]. ¶
The schema is likely to evolve as we gradually add more kinds of ¶
information. ¶

For now, the data is not externally available. But the plan is to set ¶
up a slave database to replicate the data, and provide access (eg. ¶
remote database accounts) to members of the community with interesting ¶
ideas about how to present or mine this data, or who are just curious ¶
to play with it. If anyone has an interest in this, or wants to ¶
volunteer a slave host for this purpose, please send a mail to ¶
[[mailto:maria-developers@lists.launchpad.net|maria-developers@lists.launchpad.net]]. The more people show interest ¶
in this, the faster it is likely to happen! ¶

== Reports ¶

We are developing new reports fed off the test results in the ¶
database. These reports will be located ¶
[[http://buildbot.askmonty.org/buildbot/reports/|here]]. The first ¶
report is the ¶
[[http://buildbot.askmonty.org/buildbot/reports/cross_reference|Cross Reference]] report. This report allows all test failures to be ¶
searched. ¶

== Buildbot maintenance ¶

Here is some information on how our Buildbot installation is set up ¶
and maintained: ¶

* The configuration file is included in the ¶
[[https://launchpad.net/mariadb-tools/trunk|lp:mariadb-tools branch]] in the ¶
[[https://launchpad.net/mariadb-tools|Tools for MariaDB]] Launchpad project. ¶
* The building and testing of binary packages is documented on the ¶
[[BuildBot Packages]] page. ¶
* We developed a small tool, [[Buildbot runvm|runvm]], that is used to ¶
do some of the builds inside a virtual machine, mostly to test builds ¶
of binary packages. ¶
* The [[BuildBot Development]] page describes how we developed some ¶
of the enhancements to BuildBot that we use and have contributed ¶
upstream. ¶