services: cuirass: Allow for gexps in specifications.
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]: Change default value to #~'(). (cuirass-shepherd-service): Remove conditional for "--specifications". Use 'scheme-file' instead of 'plain-file'. Change file name to "cuirass-specs.scm". * doc/guix.texi (Continuous Integration): Change the example to use a gexp where #:file refers to a file within Cuirass. Adjust documentation.
This commit is contained in:
parent
fef494d27d
commit
8de938d59a
@ -13,7 +13,7 @@
|
||||
@set OPENPGP-SIGNING-KEY-ID BCA689B636553801C3C62150197A5888235FACAC
|
||||
|
||||
@copying
|
||||
Copyright @copyright{} 2012, 2013, 2014, 2015, 2016 Ludovic Courtès@*
|
||||
Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès@*
|
||||
Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@*
|
||||
Copyright @copyright{} 2013 Nikita Karetnikov@*
|
||||
Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*
|
||||
@ -12028,16 +12028,22 @@ defining a build job based on a specification that can be found in
|
||||
Cuirass source tree.
|
||||
|
||||
@example
|
||||
(let ((spec `((#:name . "guix")
|
||||
(#:url . "git://git.savannah.gnu.org/guix.git")
|
||||
(#:load-path . ".")
|
||||
;; Adapt to a valid absolute file name.
|
||||
(#:file . "/.../cuirass/tests/gnu-system.scm")
|
||||
(#:proc . hydra-jobs)
|
||||
(#:arguments (subset . "hello"))
|
||||
(#:branch . "master"))))
|
||||
(let ((spec #~((#:name . "guix")
|
||||
(#:url . "git://git.savannah.gnu.org/guix.git")
|
||||
(#:load-path . ".")
|
||||
|
||||
;; Here we must provide an absolute file name.
|
||||
;; We take jobs from one of the examples provided
|
||||
;; by Cuirass.
|
||||
(#:file . #$(file-append
|
||||
cuirass
|
||||
"/tests/gnu-system.scm"))
|
||||
|
||||
(#:proc . hydra-jobs)
|
||||
(#:arguments (subset . "hello"))
|
||||
(#:branch . "master"))))
|
||||
(cuirass-service #:config (cuirass-configuration
|
||||
(specifications (list spec)))))
|
||||
(specifications #~(list #$spec)))))
|
||||
@end example
|
||||
|
||||
While information related to build jobs are located directly in the
|
||||
@ -12068,8 +12074,9 @@ Cuirass jobs.
|
||||
Location of sqlite database which contains the build results and previously
|
||||
added specifications.
|
||||
|
||||
@item @code{specifications} (default: @code{'()})
|
||||
A list of specifications, where a specification is an association list
|
||||
@item @code{specifications} (default: @code{#~'()})
|
||||
A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications,
|
||||
where a specification is an association list
|
||||
(@pxref{Associations Lists,,, guile, GNU Guile Reference Manual}) whose
|
||||
keys are keywords (@code{#:keyword-example}) as shown in the example
|
||||
above.
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -57,8 +57,8 @@
|
||||
(default 60))
|
||||
(database cuirass-configuration-database ;string (file-name)
|
||||
(default "/var/run/cuirass/cuirass.db"))
|
||||
(specifications cuirass-configuration-specifications ;specification-alist
|
||||
(default '()))
|
||||
(specifications cuirass-configuration-specifications
|
||||
(default #~'())) ;gexp that evaluates to specification-alist
|
||||
(use-substitutes? cuirass-configuration-use-substitutes? ;boolean
|
||||
(default #f))
|
||||
(one-shot? cuirass-configuration-one-shot? ;boolean
|
||||
@ -85,11 +85,8 @@
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$cuirass "/bin/cuirass")
|
||||
"--cache-directory" #$cache-directory
|
||||
#$@(if (null? specs)
|
||||
'()
|
||||
(let ((str (format #f "'~S" specs)))
|
||||
(list "--specifications"
|
||||
(plain-file "specs.scm" str))))
|
||||
"--specifications"
|
||||
#$(scheme-file "cuirass-specs.scm" specs)
|
||||
"--database" #$database
|
||||
"--interval" #$(number->string interval)
|
||||
#$@(if use-substitutes? '("--use-substitutes") '())
|
||||
|
Loading…
Reference in New Issue
Block a user