mirror of
git://git.savannah.gnu.org/guix/guix-cuirass.git
synced 2023-12-14 06:03:04 +01:00
* README: Mark Fibers as required. * configure.ac: Check for Guile 2.2 only. Check for (fibers). * bin/cuirass.in (main): Use (fibers). Run 'process-specs' and web server in separate fibers. * src/cuirass/base.scm (with-store): New macro. (non-blocking-port): New procedure. (evaluate): Use 'non-blocking-port'. Use 'read-string' followed by 'read'. (process-specs): Move 'db-add-stamp' right after 'string=?' comparison. Run evaluation and subsequent builds in a separate fiber. * src/cuirass/http.scm (run-cuirass-server): Pass 'fibers as the second argument to 'run-server'. Use 'log-message' instead of 'format'. * src/cuirass/database.scm (with-database): Remove 'dynamic-wind'.
65 lines
1.7 KiB
Plaintext
65 lines
1.7 KiB
Plaintext
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 2.0.9 or later
|
|
- GNU Guix (and all its development dependencies)
|
|
- GNU Make
|
|
- Guile-JSON
|
|
- Guile-SQLite3
|
|
- Guile-Git
|
|
- 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
|
|
|
|
Contributing
|
|
============
|
|
|
|
See the manual for useful hacking informations, by running
|
|
|
|
info -f doc/cuirass.info "Contributing"
|