Build automation server using GNU Guix package manager.

Ludovic Courtès 387909454c Use a non-blocking socket for store communication. 3 days ago
bin df2d13621f Use the writer worker for all write queries. 2 weeks ago
build-aux f2984c7230 Use Guile-zlib package. 2 months ago
doc fd7e7b5f00 doc: Update path for gcroots. 2 weeks ago
examples f44618fc79 Add support for build products downloading. 4 months ago
src 387909454c Use a non-blocking socket for store communication. 3 days ago
tests df2d13621f Use the writer worker for all write queries. 2 weeks ago
.dir-locals.el df2d13621f Use the writer worker for all write queries. 2 weeks ago
.gitignore 12def48b3b Support publishing build events 9 months ago
COPYING 9d5fda76bb Initial commit. 4 years ago
Makefile.am cb2c4e3d8f Optimize build query. 3 weeks ago
README f2984c7230 Use Guile-zlib package. 2 months ago
bootstrap c9223b6d29 build: Add 'bootstrap' script. 4 years ago
configure.ac 83ac1a84f5 Check for Guile-zlib during configure. 2 months ago

README

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

Requirements
============

Cuirass currently depends on the following packages:

- GNU Guile 3.0.x or 2.2.x
- GNU Guix (and all its development dependencies)
- GNU Make
- Guile-JSON 3.x
- Guile-SQLite3
- Guile-Git
- Guile-zlib
- Fibers

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
dependencies.

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

Example
=======

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

To start the web interface run:

./pre-inst-env cuirass --web

Contributing
============

See the manual for useful hacking informations, by running

info -f doc/cuirass.info "Contributing"