Build automation server using GNU Guix package manager.

Ludovic Courtès a42cf16fec base: Provide 'build-derivations' with the full list of derivations. 8 months ago
bin 2418019798 evaluate: Use specification #:name in evaluation alists. 7 months ago
build-aux 4ca0c93875 build: Add '%aux-dir' variable. 9 months ago
doc f695c79eb3 doc: Describe how to send patches. 8 months ago
examples e9e1ce8e14 maint: Move examples from 'tests' to 'examples' directory. 10 months ago
src a42cf16fec base: Provide 'build-derivations' with the full list of derivations. 7 months ago
tests 16aec469d4 repo: Add <repo> record datatype. 9 months ago
.dir-locals.el cbdb59af8e doc: Add Cuirass manual. 10 months ago
.gitignore 3adf32e742 build: Don't generate ".version" since it has no use. 9 months ago
COPYING 9d5fda76bb Initial commit. 1 year ago 3adf32e742 build: Don't generate ".version" since it has no use. 9 months ago
README 4d1f2d989d maint: Add a pointer to the manual in the README. 8 months ago
bootstrap c9223b6d29 build: Add 'bootstrap' script. 1 year ago 8988070725 maint: Fix mistake in copying permission statement. 9 months ago


Cuirass is a continuous integration tool using GNU Guix. It is intended as a
replacement for Hydra.


Cuirass currently depends on the following packages:

- GNU Guile 2.0.9 or later
- GNU Guix (and all its development dependencies)
- GNU Make
- Guile-JSON
- Guile-SQLite3
- Git

A convenient way to install those dependencies is to install Guix and execute
the following command:

$ guix environment -l build-aux/guix.scm

This will build and enter an environment which provides all the necessary

Build Instructions

When all the dependencies are available on you system, in order to build and
install Cuirass, you can proceed with the usual:

$ ./configure && sudo make install

An alternative way is to directly install Cuirass in your Guix profile, using:

$ guix package -f build-aux/guix.scm

To build it, but not install it, run:

$ guix build -f build-aux/guix.scm


A quick way to manually test Cuirass is to execute:

./pre-inst-env cuirass --specifications=examples/hello-singleton.scm --database=test.db

This will read the file "examples/hello-singleton.scm" which contains a list of
specifications and add them to the database "test.db" which is created if it
doesn't already exist.

'cuirass' then loops evaluating/building the specs. The database keeps track
of the specifications in order to allow users to accumulate specifications.
To resume the evaluation/build process you can execute the same command
without the '--specifications' option:

./pre-inst-env cuirass --database=test.db


See the manual for useful hacking informations, by running

info -f doc/ "Contributing"