Go to file
Ludovic Courtès a42cf16fec
base: Provide 'build-derivations' with the full list of derivations.
This improves parallelism when 'max-jobs' is large.

* src/cuirass/base.scm (build-packages): Rewrite to pass the complete
list of derivations to 'build-derivations' at once.  Handle multiple outputs.
* src/schema.sql (Builds): Make "output" part of the primary key.

Co-authored-by: Mathieu Lirzin <mthl@gnu.org>
2017-02-24 19:33:41 +01:00
bin evaluate: Use specification #:name in evaluation alists. 2017-02-24 19:32:20 +01:00
build-aux build: Add '%aux-dir' variable. 2017-01-24 20:11:55 +01:00
doc doc: Describe how to send patches. 2017-01-29 18:05:58 +01:00
examples maint: Move examples from 'tests' to 'examples' directory. 2016-12-16 13:20:49 +01:00
src base: Provide 'build-derivations' with the full list of derivations. 2017-02-24 19:33:41 +01:00
tests repo: Add <repo> record datatype. 2016-12-28 18:18:37 +01:00
.dir-locals.el doc: Add Cuirass manual. 2016-12-04 22:31:03 +01:00
.gitignore build: Don't generate ".version" since it has no use. 2017-01-23 02:41:53 +01:00
COPYING Initial commit. 2016-05-29 19:53:17 +02:00
Makefile.am build: Don't generate ".version" since it has no use. 2017-01-23 02:41:53 +01:00
README maint: Add a pointer to the manual in the README. 2017-01-29 17:56:44 +01:00
bootstrap build: Add 'bootstrap' script. 2016-08-02 19:04:53 +02:00
configure.ac maint: Fix mistake in copying permission statement. 2017-01-09 00:41:13 +01:00


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/cuirass.info "Contributing"