Features from the xrg dungeons

This series of articles aims to guide you through a set of pending features for OpenERP. Some of them are experimental, some more mature, some need to contain their maturing process... (read more)

Sunday, September 18, 2011

Status of Buildbot@pefnos

Conceived: June 2010
Implemented: July 2011

As some of you may know, a new, shiny buildbot is running now at my home premises (so far). During the last 2-3 weeks, it has been in "production", yet improving every day, with bugfixes for every new dark corner discovered.

Short features of the new buildbot (version 3):
  • All configuration is now inside the OpenERP db. Only connection credentials at master/slave.
  • Fully factored, also meaning:
  • Multi-VCS: already supports Git, Bzr, pending implementation of SVN, too
  • Multi-repository: supports range of repositories, easily configurable. Takes care of local proxying, so that bandwidth is saved.
  • Forked repos support: thanks to a usage case by Sharoon Thomas, "forked" repositories are supported, where they may share commits with their parent one (and siblings).
  • Easy branch configuration
  • Mirroring engine: with some easy steps, setup and maintain Git<->bzr mirroring (SVN coming, too) . Also, mirroring data stays inside the OpenERP db, ensuring that we can preserve them reliably.
  • Multi-project: no longer limited to OpenERP test builds. It can now do any kind of builds/tests
  • Async. commands: with a click on the OpenERP GUI, actions are triggered in the buildbot, in real time.
  • Scalable, fast: ported to exploit the pg84-next features, it is much faster now, design to pull heavier loads of branches on a humble (Atom(tm) currently) machine.
  • Multi-builders/slaves: multiple slaves support, for trusted/untrusted builds, Mageia, Fedora, Debian distro hosts, remote buildslaves etc.
Status update

Some may have noticed that in from 13 Sept. - 17 Sept., no "addons" mirror or build processes had run. This was intentional. These builders had been put offline (not polling) because a new algorithm of verifying the bzr->git process was being tested. It is highly important that the mirroring process is double-checked, so that we can trust the git copy to be identical to the Bzr source. Also, it just happened that the "trunk 6.1 addons" received a merge sprint at the same time, which stressed the mirroring (at some point, the intermediate fast-export file was 2.5GB, eeek!)

Now, process looks good and verification (so far) doesn't indicate inconsistencies.
New branches (from community) have been added, and may soon appear at the "extra-addons" tests.


Note: I will not publish the address of the server here. My upstream bandwidth is limited and wish not to use all of it for page views. Hopefully, this infrastructure will soon move to some better site with enough bw for all of you to enjoy.