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 (Xeon(R) E5-1650 v3 @ 3.50GHz, 128 GB RAM, 4 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 a fair amount of all packages of the main Gentoo tree are tried to be emerged in a randomized order. Once a day @system is updated. No parallel emerge, no parallel make and no unmerge is made. The repository is synced hourly at the host system via Git and shared to each image. Recent tree changes are mixed into the backlog of each image hourly.

With a mean of 700 emerged packages per image per day, 1-3% do fail (3-6% with FEATURES=test). An image is replaced by a fresh new one usually after 7 days (based on this model). The coverage of the Gentoo repository is about 65% after 7 days with 9 running images (based on this model). An old image is kept around for up to 60 days. The Portage File List is fed too.

The source code is located at GitHub.

*just to have fun, and to redeem to a Linux distribution I do use and trust since 2003. The Gentoo project has an own tinderbox cluster with a 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