services: cuirass: Add ‘build-expiry’ field.

* gnu/services/cuirass.scm (<cuirass-configuration>)[build-expiry]: New
field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.

Change-Id: I1f9e21368437fd8fc236719e32bad7656928c926
This commit is contained in:
Ludovic Courtès 2025-01-11 19:18:01 +01:00
parent 1326817ddd
commit d081b41d2e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 14 additions and 1 deletions

View file

@ -35285,6 +35285,10 @@ Cuirass jobs.
@item @code{ttl} (default: @code{2592000}) @item @code{ttl} (default: @code{2592000})
Duration to keep build results' GC roots alive, in seconds. Duration to keep build results' GC roots alive, in seconds.
@item @code{build-expiry} (default: 4 months)
Duration in seconds after which pending builds are canceled. This helps
ensure that the backlog does not grow indefinitely.
@item @code{threads} (default: @code{#f}) @item @code{threads} (default: @code{#f})
Number of kernel threads to use for Cuirass. The default value should be appropriate for most cases. Number of kernel threads to use for Cuirass. The default value should be appropriate for most cases.

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016-2024 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016-2025 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@ -103,6 +103,8 @@
(default 60)) (default 60))
(ttl cuirass-configuration-ttl ;integer (ttl cuirass-configuration-ttl ;integer
(default 2592000)) (default 2592000))
(build-expiry cuirass-configuration-build-expiry
(default (* 4 30 24 3600))) ;integer(seconds)
(threads cuirass-configuration-threads ;integer (threads cuirass-configuration-threads ;integer
(default #f)) (default #f))
(parameters cuirass-configuration-parameters ;string (parameters cuirass-configuration-parameters ;string
@ -136,6 +138,7 @@
(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)) (ttl (cuirass-configuration-ttl config))
(build-expiry (cuirass-configuration-build-expiry config))
(threads (cuirass-configuration-threads 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))
@ -168,6 +171,12 @@
(number->string ttl) (number->string ttl)
"s")) "s"))
'()) '())
#$@(if build-expiry
(list (string-append
"--build-expiry="
(number->string build-expiry)
"s"))
'())
#$@(if threads #$@(if threads
(list (string-append (list (string-append
"--threads=" "--threads="