Tuesday, September 12, 2006

Pybots project keeps rolling

Some updates on the Pybots project:
  • Mike Taylor aka Bear from OSAF contributed 2 buildslaves: an Ubuntu Dapper box for testing his parsedatetime package, and an Intel Mac OSX box for testing two libraries used by OSAF -- vobject and zanshin
  • Manuzhai contributed a Gentoo box for testing pysqlite and Trac
  • Elliot Murphy from mysql.com will contribute an AMD-64 Ubuntu Dapper box for testing MySQLdb
  • In summary, we're up to 5 (soon to be 6) buildslaves, with more on the way
  • Seo Sanghyeon created a Google Code project for pybots; he and I are the current admins for this project; you can browse the Subversion repository for various scripts and buildbot config. files
  • As a cool side note, Sanghyeon rewrote the home page for pybots.org in reST; the page is kept in subversion and the server hosting pybots.org is doing a svn update every hour, followed by a rest2html call
As I said in a previous post, the Pybots setup already proved its usefulness by uncovering issues with new keywords such as 'with' and 'as'. Some of the projects affected by these new keywords are zope.interface, roundup and zanshin. According to the Zope developers, the issue had been fixed a while ago in the svn repository, but no release has happened since. The roundup developers already fixed the issue -- nice to see this.

Also, the Trac unit tests, when running against the latest Python trunk, are failing with an ugly backtrace. If somebody can shed some light, please do.

Again, if you're interested in running a Pybots buildslave, take a look at the various pieces of documentation at pybots.org and send a message to the Pybots mailing list.

2 comments:

Michael Chermside said...

This is simply great. It's the "One True Way to Manage Upgrades"[TM]. I predict that in 5-10 years, EVERY project that develops a language, server, framework, or other platform on which others write code will maintain farms of buildbots to provide feedback and allow smooth, bug-free upgrades to new versions. It's great because (1) it's opt-in, (2) anyone who writes code that runs on Python can make sure that their code continues to work with Python upgrades, (3) it provides excellent feedback to the Python developers to prevent them from introducing accidental breakage (intentional breakage is still possible) -- it's like a huge compile farm but with a built-in motivation to retain participants, and (3) eventually we'll figure out how to use the buildbot farms to perform performance testing, and then we'll have the ULTIAMTE system for testing performance improvements: pystone may not be representative of "normal programs" but running the unit tests of every major Python program is the best test you could imagine!

Grig Gheorghiu said...

Thanks, Michael, I appreciate your kind words.

As far as using the buildbot farm for other purposes, I know Titus was thinking about aggregating some test coverage numbers across the buildbot machines in the farm. That would be kind of cool....