~ruther/guix-local

231eddc88ae1f459024f410c5fee48c0a2003bec — Ludovic Courtès 9 years ago 8de938d
services: cuirass: Remove 'cuirass-service' procedure.

* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]:
Remove default value.
(cuirass-service): Remove.
* doc/guix.texi (Continuous Integration): Adjust accordingly.
2 files changed, 16 insertions(+), 24 deletions(-)

M doc/guix.texi
M gnu/services/cuirass.scm
M doc/guix.texi => doc/guix.texi +13 -17
@@ 12011,21 12011,16 @@ providing substitutes to others (@pxref{Substitutes}).

The @code{(gnu services cuirass)} module provides the following service.

@deffn {Scheme Procedure} cuirass-service @
       [#:config @code{(cuirass-configuration)}]
Return a service that runs @command{cuirass}.

The @var{#:config} keyword argument specifies the configuration for
@command{cuirass}, which must be a @code{<cuirass-configuration>}
object, by default it doesn't provide any build job.  If you want to
provide your own configuration you will most likely use the
@code{cuirass-configuration} special form which returns such objects.
@end deffn
@defvr {Scheme Procedure} cuirass-service-type
The type of the Cuirass service.  Its value must be a
@code{cuirass-configuration} object, as described below.
@end defvr

In order to add build jobs you will have to set the
@code{specifications} field.  Here is an example of a cuirass service
defining a build job based on a specification that can be found in
Cuirass source tree.
To add build jobs, you have to set the @code{specifications} field of
the configuration.  Here is an example of a service defining a build job
based on a specification that can be found in Cuirass source tree.  This
service polls the Guix repository and builds a subset of the Guix
packages, as prescribed in the @file{gnu-system.scm} example spec:

@example
(let ((spec #~((#:name . "guix")


@@ 12042,11 12037,12 @@ Cuirass source tree.
               (#:proc . hydra-jobs)
               (#:arguments (subset . "hello"))
               (#:branch . "master"))))
  (cuirass-service #:config (cuirass-configuration
                             (specifications #~(list #$spec)))))
  (service cuirass-service-type
           (cuirass-configuration
            (specifications #~(list #$spec)))))
@end example

While information related to build jobs are located directly in the
While information related to build jobs is located directly in the
specifications, global settings for the @command{cuirass} process are
accessible in other @code{cuirass-configuration} fields.


M gnu/services/cuirass.scm => gnu/services/cuirass.scm +3 -7
@@ 30,8 30,7 @@
            cuirass-configuration
            cuirass-configuration?

            cuirass-service-type
            cuirass-service))
            cuirass-service-type))

;;;; Commentary:
;;;


@@ 57,8 56,8 @@
                    (default 60))
  (database         cuirass-configuration-database ;string (file-name)
                    (default "/var/run/cuirass/cuirass.db"))
  (specifications   cuirass-configuration-specifications
                    (default #~'())) ;gexp that evaluates to specification-alist
  (specifications   cuirass-configuration-specifications)
                                  ;gexp that evaluates to specification-alist
  (use-substitutes? cuirass-configuration-use-substitutes? ;boolean
                    (default #f))
  (one-shot?        cuirass-configuration-one-shot? ;boolean


@@ 140,6 139,3 @@
     (service-extension shepherd-root-service-type cuirass-shepherd-service)
     (service-extension account-service-type cuirass-account)))))

(define* (cuirass-service #:key (config (cuirass-configuration)))
  "Return a service that runs cuirass according to CONFIG."
  (service cuirass-service-type config))