summary refs log tree commit diff
diff options
context:
space:
mode:
authorAhmad Draidi <a.r.draidi@redscript.org>2024-05-02 05:37:48 +0400
committerLudovic Courtès <ludo@gnu.org>2024-05-04 19:14:25 +0200
commit70f277d0e440c26a5026311b0658323be2d3271e (patch)
tree3e50b02924394d01818d967f0388980e9396604f
parent2cd6831161700409a16e5affd9145d0d4f2a56fe (diff)
downloadguix-70f277d0e440c26a5026311b0658323be2d3271e.tar.gz
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>
-rw-r--r--doc/guix.texi6
-rw-r--r--gnu/services/cuirass.scm17
2 files changed, 23 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index fc5760d30d..6156293f9c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34456,6 +34456,12 @@ Owner's group of the @code{cuirass} process.
 Number of seconds between the poll of the repositories followed by the
 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})
 Read parameters from the given @var{parameters} file.  The supported
 parameters are described here (@pxref{Parameters,,, cuirass, Cuirass}).
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index b09d5601d4..f430c38a69 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -101,6 +101,10 @@
                     (default "cuirass"))
   (interval         cuirass-configuration-interval ;integer (seconds)
                     (default 60))
+  (ttl              cuirass-configuration-ttl ;integer
+                    (default 2592000))
+  (threads          cuirass-configuration-threads ;integer
+                    (default #f))
   (parameters       cuirass-configuration-parameters ;string
                     (default #f))
   (remote-server    cuirass-configuration-remote-server
@@ -133,6 +137,8 @@
         (user             (cuirass-configuration-user config))
         (group            (cuirass-configuration-group config))
         (interval         (cuirass-configuration-interval config))
+        (ttl              (cuirass-configuration-ttl config))
+        (threads          (cuirass-configuration-threads config))
         (parameters       (cuirass-configuration-parameters config))
         (remote-server    (cuirass-configuration-remote-server config))
         (database         (cuirass-configuration-database config))
@@ -159,6 +165,17 @@
                         "--specifications" #$config-file
                         "--database" #$database
                         "--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
                                (list (string-append
                                       "--parameters="