Cuirass continuous integration tool
https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git
ca7a7ca989
* src/cuirass/remote.scm: New file. * src/cuirass/remote-server.scm: New file. * src/cuirass/remote-worker.scm: New file. * bin/remote-server.in: New file. * bin/remote-worker.in: New file. * Makefile.am (bin_SCRIPTS): Add new binaries, (dist_pkgmodule_DATA): add new files, (EXTRA_DIST): add new binaries, (bin/remote-server, bin/remote-worker): new targets. * .gitignore: Add new binaries. * bin/cuirass.in (%options): Add "--build-remote" option, (show-help): document it, (main): honor it. * src/cuirass/base.scm (with-build-offload-thread): New macro, (%build-remote?, %build-offload-channel): new parameters, (make-build-offload-thread): new procedure, (build-derivations/offload): new procedure, (restart-builds): use it to offload builds when %build-remote? is set, (build-packages): ditto. |
||
---|---|---|
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 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"