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
Go to file
Mathieu Othacehe fd432b8e8f
Use specification for periodic builds.
When the periodic argument is passed to a job, it will be registered only if
the time difference between the current time and the registration time of the
last build is greater than the specified period. Make sure that the last job
that is searched is part of the same specification.

* src/sql/upgrade-16.sql: New file.
* Makefile.am (dist_sql_DATA): Add it.
* src/schema.sql (Builds_job_name_timestamp): New index.
* src/cuirass/database.scm (db-get-time-since-previous-build): Add
"specification" argument,
(db-register-builds): pass it.
2020-11-25 16:49:22 +01:00
bin Use the writer worker for all write queries. 2020-10-15 09:53:53 +02:00
build-aux Use Guile-zlib package. 2020-08-25 16:33:09 +02:00
doc doc: Update path for gcroots. 2020-10-13 21:34:57 +02:00
examples Add support for build products downloading. 2020-06-10 16:42:21 +02:00
src Use specification for periodic builds. 2020-11-25 16:49:22 +01:00
tests Use the writer worker for all write queries. 2020-10-15 09:53:53 +02:00
.dir-locals.el Use the writer worker for all write queries. 2020-10-15 09:53:53 +02:00
.gitignore Support publishing build events 2020-01-16 08:32:52 +00:00
bootstrap build: Add 'bootstrap' script. 2016-08-02 19:04:53 +02:00
configure.ac Check for Guile-zlib during configure. 2020-08-25 16:46:20 +02:00
COPYING Initial commit. 2016-05-29 19:53:17 +02:00
Makefile.am Use specification for periodic builds. 2020-11-25 16:49:22 +01:00
README Use Guile-zlib package. 2020-08-25 16:33:09 +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 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"