mirror of
git://git.savannah.gnu.org/guix/guix-cuirass.git
synced 2024-12-29 11:40:16 +01:00
doc: Add 'Overview' Chapter.
* doc/cuirass.texi (Overview): New chapter.
This commit is contained in:
parent
97b707d32a
commit
a6807cb29c
1 changed files with 44 additions and 0 deletions
|
@ -49,7 +49,13 @@ Documentation License''.
|
|||
@c *********************************************************************
|
||||
@menu
|
||||
* Introduction:: What is Cuirass about?
|
||||
|
||||
Tutorial sections:
|
||||
* Overview:: A quick tour of Cuirass
|
||||
|
||||
Reference sections:
|
||||
* Invocation:: How to run Cuirass.
|
||||
|
||||
* Contributing:: Your help needed!
|
||||
* GNU Free Documentation License:: The license of this manual.
|
||||
* Concept Index:: Concepts.
|
||||
|
@ -89,6 +95,44 @@ basis of the @dfn{Continuous integration} practice.
|
|||
@node Continuous Integration
|
||||
@unnumberedsec Continuous Integration
|
||||
|
||||
@c *********************************************************************
|
||||
@node Overview
|
||||
@chapter Overview
|
||||
|
||||
@command{cuirass} acts as a daemon polling @acronym{VCS, version control
|
||||
system} repositories for changes, and evaluating a derivation when
|
||||
something has changed (@pxref{Derivations, Derivations,, guix, Guix}).
|
||||
As a final step the derivation is realised and the result of that build
|
||||
allows you to know if the job succeed or not.
|
||||
|
||||
What is actually done by @command{cuirass} is specified in a @dfn{job
|
||||
specification} which is represented as an association list which is a
|
||||
basic and traditional Scheme data structure. Here is an example of what
|
||||
a specification might look like:
|
||||
|
||||
@lisp
|
||||
`((#:name . "hello")
|
||||
(#:url . "git://git.savannah.gnu.org/guix.git")
|
||||
(#:branch . "master")
|
||||
(#:no-compile? . #t)
|
||||
(#:load-path . ".")
|
||||
(#:proc . cuirass-jobs)
|
||||
(#:file . "/tmp/drv-file.scm")
|
||||
(#:arguments (subset . "hello")))
|
||||
@end lisp
|
||||
|
||||
In this specification the keys are Scheme keywords which have the nice
|
||||
property of being self evaluating. This means that they can't refer to
|
||||
another value like symbols do.
|
||||
|
||||
Currently the only way to add those specifications to cuirass is to put
|
||||
a list of them in a file and set the @code{--specifications} command
|
||||
line option argument with the file name when launching the daemon
|
||||
(@pxref{Invocation}). The specifications are persistent (they are kept
|
||||
in a SQLite database) so the next time @command{cuirass} is run the
|
||||
previously added specifications will remain active even if you don't
|
||||
keep the @code{--specifications} option.
|
||||
|
||||
@c *********************************************************************
|
||||
@node Invocation
|
||||
@chapter Invoking cuirass
|
||||
|
|
Loading…
Reference in a new issue