I run a build bot to identify static build + installation issues of Gentoo Linux software packages*.

Up to 10 chroot images are running in parallel at a dedicated server (i7-3930, 12 threads, 64 GB RAM, 6 TB disk). Each image is set up from a recent stage3 tarball as an arbitrary combination of (~)amd64 + profile + USE flag set.

Within each image all packages of the main Gentoo tree/repository are tried to be emerged in a randomized order. Once a day @system and @world are updated. No parallel emerge, no parallel make, no unmerge is made. A depclean is made only after a successful @world. The repository is synced hourly at the host system and shared to each chroot image via bind mount. Changed packages are mixed into the backlog of each image.

500-600 packages per image are emerged daily, 2% do fail (6% with FEATURES=test). The coverage of the repository is about 75% per week.

An image is replaced by a fresh new one usually after 7 days (based on this model). Between 3,500 and 5,500 packages will be emerged. The old image is kept around for about 3 months.

Github holds the source code (GNU GPL v3).

The Portage File List is fed too.

*just to have fun, and to redeem to a Linux distribution I do use and trust since 2003. The Gentoo project has its own tinderbox cluster with a slightly different approach.

The tinderbox runs in each chroot: "qsearch --all | sort --random-sort | xargs -n 1 emerge --update" and just parses the output.

back to my home page