2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/guix-cuirass.git synced 2023-12-14 06:03:04 +01:00
Cuirass continuous integration tool https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git
Find a file
Mathieu Othacehe e550cb6a9a
cuirass: Store new information in database to prepare new HTTP API
integration.

* bin/evaluate.in (fill-job): New procedure.
(main): Use it to fill informations (nix-name, system) that will later be
added to database.
* doc/cuirass.texi (Database)[Derivation]: Add system and nix_name fields.
(Database)[Builds]: Add id, status, timestamp, starttime and stoptime
fields. Remove output field.
(Database)[Outputs]: New table describing the build outputs.
* src/cuirass/base.scm (build-packages): Add new fields to build object before
adding it to database.
* src/cuirass/database.scm (db-get-build, db-get-builds): New procedures to get
a build by id from database and a list of builds using filter parameters
respectively.
* src/schema.sql (Outputs) : New table.
(Derivations): Add system and nix_name columns.
(Builds): Remove output column and add id, status, timestamp, starttime and
stoptime columns.
2017-09-08 21:00:57 +02:00
bin cuirass: Store new information in database to prepare new HTTP API 2017-09-08 21:00:57 +02:00
build-aux base: Report git errors. 2017-07-31 15:46:50 +02:00
doc cuirass: Store new information in database to prepare new HTTP API 2017-09-08 21:00:57 +02:00
examples cuirass: Stop λ/lambda mixing. 2017-07-06 10:03:16 +02:00
src cuirass: Store new information in database to prepare new HTTP API 2017-09-08 21:00:57 +02:00
tests database: 'db-add-build' is now idempotent. 2017-08-26 10:45:43 +02: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
bootstrap build: Add 'bootstrap' script. 2016-08-02 19:04:53 +02:00
configure.ac base: Report git errors. 2017-07-31 15:46:50 +02:00
COPYING Initial commit. 2016-05-29 19:53:17 +02:00
Makefile.am repo: Remove dead code. 2017-07-06 09:20:52 +02:00
README Update dependencies in README. 2017-08-26 13:57:53 +02:00

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

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"