Hello, Here's a patch adding remote build support to Cuirass, as presented during Guix Days[1]. The concept is the following: * Cuirass talks to a "remote server" instead of the "guix-daemon" to build derivations when the "--build-remote" option is passed. * The "remote server" is advertised using Avahi. It queues the received build requests. It also starts a "publish" server. * The "remote workers" discover the "remote server" using Avahi, connect to it and request some builds. The "remote server" publish server is added to the workers "guix-daemon" substitute urls list. * On build completion, the "remote server" downloads the build outputs as nar and narinfo files from the worker "publish" server and store them in a cache directory. It can also add them to the store if the "--add-to-store" option is passed. * Cuirass is notified by the "remote server" when a build starts, fails or completes and can update its database accordingly. * The communication between Cuirass, the "remote server" and the "remote workers" is done by sending SEXP over ZMQ. This is still a bit rough on the edges, but I have tested it on berlin spawning ~30 workers and building ~10K derivations, it seems to work fine. The corresponding patch and an architecture overview diagram are attached. Thanks, Mathieu [1]: https://xana.lepiller.eu/guix-days-2020/guix-days-2020-mathieu-otacehe-fixing-the-ci.mp4