services: cuirass: Add new configuration options.

* gnu/services/cuirass.scm (<cuirass-configuration>): Add ttl and threads
fields.
(cuirass-shepherd-service): Handle the new options.
* doc/guix.texi (Continuous Integration): Document them.

Change-Id: I4387fbd7bf6766f4a54801f35c7ed82ce4eb9645
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Ahmad Draidi 2024-05-02 05:37:48 +04:00 committed by Ludovic Courtès
parent 2cd6831161
commit 70f277d0e4
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 23 additions and 0 deletions

View file

@ -34456,6 +34456,12 @@ Owner's group of the @code{cuirass} process.
Number of seconds between the poll of the repositories followed by the Number of seconds between the poll of the repositories followed by the
Cuirass jobs. Cuirass jobs.
@item @code{ttl} (default: @code{2592000})
Duration to keep build results' GC roots alive, in seconds.
@item @code{threads} (default: @code{#f})
Number of kernel threads to use for Cuirass. The default value should be appropriate for most cases.
@item @code{parameters} (default: @code{#f}) @item @code{parameters} (default: @code{#f})
Read parameters from the given @var{parameters} file. The supported Read parameters from the given @var{parameters} file. The supported
parameters are described here (@pxref{Parameters,,, cuirass, Cuirass}). parameters are described here (@pxref{Parameters,,, cuirass, Cuirass}).

View file

@ -101,6 +101,10 @@ (define-record-type* <cuirass-configuration>
(default "cuirass")) (default "cuirass"))
(interval cuirass-configuration-interval ;integer (seconds) (interval cuirass-configuration-interval ;integer (seconds)
(default 60)) (default 60))
(ttl cuirass-configuration-ttl ;integer
(default 2592000))
(threads cuirass-configuration-threads ;integer
(default #f))
(parameters cuirass-configuration-parameters ;string (parameters cuirass-configuration-parameters ;string
(default #f)) (default #f))
(remote-server cuirass-configuration-remote-server (remote-server cuirass-configuration-remote-server
@ -133,6 +137,8 @@ (define (cuirass-shepherd-service config)
(user (cuirass-configuration-user config)) (user (cuirass-configuration-user config))
(group (cuirass-configuration-group config)) (group (cuirass-configuration-group config))
(interval (cuirass-configuration-interval config)) (interval (cuirass-configuration-interval config))
(ttl (cuirass-configuration-ttl config))
(threads (cuirass-configuration-threads config))
(parameters (cuirass-configuration-parameters config)) (parameters (cuirass-configuration-parameters config))
(remote-server (cuirass-configuration-remote-server config)) (remote-server (cuirass-configuration-remote-server config))
(database (cuirass-configuration-database config)) (database (cuirass-configuration-database config))
@ -159,6 +165,17 @@ (define (cuirass-shepherd-service config)
"--specifications" #$config-file "--specifications" #$config-file
"--database" #$database "--database" #$database
"--interval" #$(number->string interval) "--interval" #$(number->string interval)
#$@(if ttl
(list (string-append
"--ttl="
(number->string ttl)
"s"))
'())
#$@(if threads
(list (string-append
"--threads="
(number->string threads)))
'())
#$@(if parameters #$@(if parameters
(list (string-append (list (string-append
"--parameters=" "--parameters="