Cuirass continuous integration tool
https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git
46f73b6b7c
Being able to take a derivation and query the build information is useful, but in cases where there are multiple derivations that produce the same outputs, the probability of getting the data back from Cuirass is reduced. This is because Cuirass might not have build the exact derivation you have, but a different derivation that produces the same outputs (this can commonly happen when a related fixed output derivation changes). Cuirass doesn't store derivations if they produce the same outputs as a derivation it already knows about, so it can't determine if this is the case. Therefore, provide a way of querying build results by output, rather than derivation. The motivation behind this is to make it easier to import build information in to the Guix Data Service. * src/cuirass/database.scm (db-get-output): New procedure. * src/cuirass/http.scm (respond-output-not-found): New procedure. (request-path-components): Handle /output/… requests. * doc/cuirass.texi (Build information): Mention that you can get build information by output. |
||
---|---|---|
bin | ||
build-aux | ||
doc | ||
examples | ||
src | ||
tests | ||
.dir-locals.el | ||
.gitignore | ||
COPYING | ||
Makefile.am | ||
README | ||
bootstrap | ||
configure.ac |
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 2.2.x or later - GNU Guix (and all its development dependencies) - GNU Make - Guile-JSON 3.x - 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 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"