diff mbox series

[bug#70285,2/3] services: cuirass: Add new configuration options.

Message ID 7ccac410c5f7d0c9b27c828bc088c485f22884a8.1712576504.git.a.r.draidi@redscript.org
State New
Headers show
Series Cuirass service config options work | expand

Commit Message

Ahmad Draidi April 8, 2024, 5:54 p.m. UTC
* 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
---
 doc/guix.texi            |  6 ++++++
 gnu/services/cuirass.scm | 12 ++++++++++++
 2 files changed, 18 insertions(+)

Comments

Ludovic Courtès April 29, 2024, 9:33 p.m. UTC | #1
Hi Ahmad,

Ahmad Draidi <a.r.draidi@redscript.org> skribis:

> * 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.

[...]

> +  (ttl              cuirass-configuration-ttl ;string
> +                    (default "30d"))

For consistency with <guix-publish-configuration>, I would make it an
integer (number of seconds).

If that’s fine with you, could you send an updated patch or let me know
if I should make this change on your behalf?

The rest of the patch series looks good to me!

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/doc/guix.texi b/doc/guix.texi
index 77e17cb69c..90a6135882 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34368,6 +34368,12 @@  Continuous Integration
 Number of seconds between the poll of the repositories followed by the
 Cuirass jobs.
 
+@item @code{ttl} (default: @code{"30d"})
+Duration to keep build results' GC roots alive.
+
+@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..ac086dedb9 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -101,6 +101,10 @@  (define-record-type* <cuirass-configuration>
                     (default "cuirass"))
   (interval         cuirass-configuration-interval ;integer (seconds)
                     (default 60))
+  (ttl              cuirass-configuration-ttl ;string
+                    (default "30d"))
+  (threads          cuirass-configuration-threads ;integer
+                    (default #f))
   (parameters       cuirass-configuration-parameters ;string
                     (default #f))
   (remote-server    cuirass-configuration-remote-server
@@ -133,6 +137,8 @@  (define (cuirass-shepherd-service config)
         (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,12 @@  (define (cuirass-shepherd-service config)
                         "--specifications" #$config-file
                         "--database" #$database
                         "--interval" #$(number->string interval)
+                        "--ttl" #$ttl
+                        #$@(if threads
+                               (list (string-append
+                                      "--threads="
+                                      (number->string threads)))
+                               '())
                         #$@(if parameters
                                (list (string-append
                                       "--parameters="