The paper "The Nix Build Farm: A Declarative Approach to Continuous Integration" by Eelco Dolstra and Eelco Visser
has been accepted for presentation at the
International Workshop on Advanced Software Development Tools and Techniques
co-located with
ECOOP 2008 in
The paper is the first to come out of the 3TU CEDICT
buildfarm project (which badly needs a webpage).
Abstract:
There are many tools to support continuous integration (the process of
automatically and continuously building a project from a version
management repository). However, they do not have good support for
variability in the build environment: dependencies such as compilers,
libraries or testing tools must typically be installed manually on all
machines on which automated builds are performed. The
Nix
package manager solves this problem: it has a purely functional
language for describing package build actions and their dependencies,
allowing the build environment for projects to be produced
automatically and deterministically. We have used Nix to build a
continuous integration tool, the
Nix build farm, that is in use
to continuously build and release a large set of projects.