I run a build bot to identify build and installation issues of Gentoo Linux software packages*. I reused the term "tinderbox" from the retired Gentoo developer flameeyes.

6 images are running in parallel at a 6-core Xeon with 128 GB RAM and 2x 1.8 TB HDD (still spinning).

Each image is setup from a recent stage3 tarball as an arbitrary combination of ~amd64 + profile + USE flag set. Within each image all Gentoo packages are scheduled to be emerged in a randomized order, Once a day @system and @worldare updated. The repository is synced hourly via Git at the host and (r)synced by each image before a new emerge starts. Recent portage tree changes are mixed hourly into the individual backlog of each image.

An image is replaced by a fresh new one usually after 10-35 days (see this model for MAKEOPTS=-j1). The coverage of the Gentoo repository is about 85% with 7 images running for 11 days (estimation based on this model). If an image runs over the full instance then usually 14,000 packages were emerged and 400 failed to emerge. A replaced image is kept around for at least a month.

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 itself and individual Gentoo devs runs their own tinderboxes and CI/CD solutions with different approaches.

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

back to my home page