GNU Guix behind the scene
Continuous integration for the GNU Guix project
- Track: Declarative and Minimalistic Computing devroom
- Room: D.minimalistic
- Day: Sunday
- Start: 12:15
- End: 12:40
- Video with Q&A: D.minimalistic
- Video only: D.minimalistic
- Chat: Join the conversation!
GNU Guix is a transactional package manager and an advanced distribution based on a minimalistic language: GNU Guile.
While users can choose to build everything from sources, the project is providing binary substitutes. Building and distributing those substitutes is a real challenge, involving a 20 GiB database and more than thirty machines.
In this talk I will present the architecture of the continuous integration system, how it is maintained, the current limitations as well as the possible improvements.
The GNU Guix build farm is composed of more than thirty machines. Most of them are hosted in the same datacenter in Berlin, while others, hosted by individuals are made available through a Wireguard tunnel. Those machines are managed using the GNU Guix deploy mecanism, which will be presented.
The software managing the evaluation and the distributed builds on those machines, Cuirass is also written in GNU Guile. This tool that is obviously relying on GNU Guix will be introduced.
Speakers
Mathieu Othacehe |