Automated Builds

We use automated builds to test commits to the Xapian source repository, and each snapshot tarball generated.

We originally used tinderbox for this. It provided good service, but is relatively inflexible. Also, almost all of the tinderbox builds were run on SourceForge's compile farm or HP's TestDrive, but both of these services have now shut down. We've migrated the remaining builds to our BuildBot so the tinderbox isn't active now.

We're now using BuildBot, but have not yet set up equivalent coverage to all the platforms we used to have in tinderbox, but this is mostly because we no longer have access to most of those platforms.

If you want to help improve coverage, you can run a buildbot slave - see the BuildBot page for more information on how to set one up.

Side-effect output

  • The snapshot builder produces graphs of the size of the shared library produced for each SVN revision it successfully completes a build of, and these are also plotted for releases too:
  • Buildbot produces a couple of CSV files:
    •  copyright.csv contains details of the proportions of Xapian held by each copyright holder, and the licences applied to them.
    •  fixmes.csv contains details of the FIXME comments in the Xapian source code.

Platform Coverage

These cover some of the platforms SourceForge had, but the following are no longer represented in the Xapian tinderbox:

  • CentOS Linux (aims for 100% binary compatibility with RHEL)
  • OpenBSD
  • Solaris on x86 and sparc
  • FreeBSD on alpha
  • Linux cross build to Cygwin (sadly there's no debian package)

These platforms we should be able to cover:

  • Fedora Core - Fabrice Colin has offered to run builds on Fedora on i386, x86-64 and ppc
  • Mac OS X - James Aylett may be able to host a build

Olly has an account on the GCC compile farm (which covers many architectures, mostly running Linux currently) and the openSUSE buildservice (which covers several versions of SUSE and Fedora Core, Mandriva, Ubuntu, and Debian).

We also have a VM running Debian squeeze which  GPLHost have kindly provided.