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