Article edited by dbart 1 year, 4 months ago

Selected Revision
Revision
4101
User
dbart
Date
2011-01-05 16:23
Compare To
Revision
4100
User
dbart
Date
2011-01-05 16:23
Additions Deletions

Answer Diff [9]

<<toc>> ¶
== 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 (at) ¶
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 ¶
[[package-testing-with-buildbot-and-kvm]] page. ¶
* We developed a small tool, [[Buildbot runvm|runvm]], which 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. ¶

== See also: ¶

* Monty Program's [[http://askmonty.org/wiki/BuildBot:Todo|BuildBot Development Plans]] on the AskMonty.org developer wiki ¶