[OPEN-ILS-DEV] Announcing the OpenILS Buildbot

Shawn Boyette sboyette at esilibrary.com
Tue Nov 24 17:51:03 EST 2009


It's alive! You can have a look-see at:

   http://testing.esilibrary.com/

The web bits are pretty self-explanatory. From the front page, either 
click on the "Last build" of a project to examine the full output 
generated by that build, or click on "History" to see an overview of all 
stored builds for a project. (And from there you can drill down to the 
individual build of your choice.)

Note that the database this is running on at the moment is the same one 
it was developed and tested on, so it contains a lot of duplicate data 
at the beginning, and it will be emptied out in the near future.

JSON API
------------------------
The web front-end is ajaxy, and consumes JSON data. If you wish to write 
yourself something that consumes the same data, it's easy to do via the 
RESTful API.

The root of the URL for the JSON service is:

   http://testing.esilibrary.com/bbdata/

after this comes:

   COMMAND - What you wish to do
   PROJECT - What you with to do it with
   ARGS    - Any number of command-specific arguments

There are currently 4 commands: lastbuild (basic info about the last 
build), lastsuccess (basic info about the last *successful* build), 
summary (basic info about *all* known builds), and build (full dump of 
data for a specific build).

Each returns data in the same *basic* format, but varying in payload 
(full API docs will be available on the testing site within 24 hours).

There are currently 2 projects: openils and opensrf.

So here are some sample URLs:

   http://testing.esilibrary.com/bbdata/lastbuild/opensrf
   http://testing.esilibrary.com/bbdata/summary/openils
   http://testing.esilibrary.com/bbdata/build/openils/15020

Only "build" takes an argument: the desired build/revision number.

EMAIL NOTIFICATION
---------------------------
The back-end of the buildbot can send you email anytime a build for a 
specific project succeeds or fails (or both). There is no way to sign 
yourself up for this right now, so just let me know if you'd like to get 
mail from the bot, which project you want it for, and whether you want 
to know about successes or fails.

IRC NOTIFICATION
---------------------------
Still planned, but will be on a back burner.

NIGHTLY TARBALLS
---------------------------
Should be happening this week. Early ones might be not-quite-right; 
feedback will be appreciated. Strictly speaking, these won't be 
"nightly", they'll be "generated every night from the last successful 
build",

BUILDBOT SOURCE
---------------------------
There is some light cleanup to be done, and then if anybody wants it, 
they can have it.

There's nothing in this system which is particular -- or in fact, knows 
anything about -- Evergreen. It's a complete generic, if perhaps 
simplistic, continuous integration system.

The forthcoming docs will go into its design in some detail.

FUTURE PLANS
---------------------------
This is likely the only "push" the buildbot will ever get, but I do have 
plans to refine and update it beyond its capabilities at this moment.

The database layer is abstracted, but at the moment has only one backend 
(MongoDB). I plan to write a SQLite driver for it as well.

The VC layer is *not* abstracted, and should be. Once it is, at I'd like 
to write a git module to accompany the existing SVN one.

Related to that, I'd really like to capture commit messages, but that 
looks like a mildly hairy problem and I let it go for the time being.

I'd really like to make it be smarter about tests and have some 
integration/processing of test output instead of just capturing that output.

Ideas (and, eventually, patches) welcome.

-- 
Shawn Boyette
<sboyette at esilibrary.com>
Testing and Reliability
Equinox Software, Inc.


More information about the Open-ils-dev mailing list