A Nix toolbox for reproducible Coq environments, Continuous Integration and artifact reuse - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Documents Associated With Scientific Events Year : 2021

A Nix toolbox for reproducible Coq environments, Continuous Integration and artifact reuse

Abstract

When using or contributing to a Coq project (especially one with third party dependencies), it can be difficult and annoying to install the exact set of dependencies at the versions the maintainers recommend. It is more convenient when projects provide an easy way to set everything up to be ready to code, even more so if the dependencies can be quickly fetched in pre-compiled form. Nonetheless, it is also important to preserve the flexibility for project maintainers to test their projects against alternative versions (releases and development) of the dependencies, both while developing locally and in a distant Continuous Integration service (CI). Finally, being able to test that candidate changes do not break reverse dependencies (i.e., packages that depend on the project) is essential to bring confidence to project maintainers. We have designed the Coq Nix toolbox which relies on Nix [3] to allow for better sharing of configurations and pre-compiled packages across several projects. This toolbox makes it easy to setup a project and generates CI configurations to test multiple versions of the dependencies and compatibility with reverse dependencies. It enables the use of a single command nix-shell to get the same working environment for every developer. This also saves compilation time since developers and users may download packages that have already been compiled in CI.
Fichier principal
Vignette du fichier
main.pdf (184.28 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-03366644 , version 1 (05-10-2021)

Identifiers

  • HAL Id : hal-03366644 , version 1

Cite

Cyril Cohen, Théo Zimmermann. A Nix toolbox for reproducible Coq environments, Continuous Integration and artifact reuse. The Coq Workshop, Jul 2021, Virtual, France. ⟨hal-03366644⟩
83 View
137 Download

Share

Gmail Mastodon Facebook X LinkedIn More