summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-10-11 11:41:15 +0100
committerChristopher Baines <mail@cbaines.net>2022-10-11 11:41:15 +0100
commite83b9fe44e43ce9e8c1aad1150eaca0b5b865ca2 (patch)
tree5962b051d20e35f38bbd1efaf752a8cf6f8d0eee
parent4230de5b9807e9a522feccdd86b8d8f8b2d360a0 (diff)
downloadguix-e83b9fe44e43ce9e8c1aad1150eaca0b5b865ca2.tar.gz
services: guix: Include max-allocated-builds gbc agent option.
* gnu/services/guix.scm (guix-build-coordinator-agent-configuration-max-allocated-builds):
New procedure.
(guix-build-coordinator-agent-shepherd-services): Use max-allocated-builds.
* doc/guix.texi (Guix Build Coordinator): Document this new field.
-rw-r--r--doc/guix.texi3
-rw-r--r--gnu/services/guix.scm9
2 files changed, 12 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 14592142dd..33fc74d244 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -35865,6 +35865,9 @@ will use the current system it's running on as the default.
 @item @code{max-parallel-builds} (default: @code{1})
 The number of builds to perform in parallel.
 
+@item @code{max-allocated-builds} (default: @code{#f})
+The maximum number of builds this agent can be allocated.
+
 @item @code{max-1min-load-average} (default: @code{#f})
 Load average value to look at when considering starting new builds, if
 the 1 minute load average exceeds this value, the agent will wait before
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index dac1e5841a..907824ac61 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -59,6 +59,7 @@
             guix-build-coordinator-agent-configuration-authentication
             guix-build-coordinator-agent-configuration-systems
             guix-build-coordinator-agent-configuration-max-parallel-builds
+            guix-build-coordinator-agent-configuration-max-allocated-builds
             guix-build-coordinator-agent-configuration-max-1min-load-average
             guix-build-coordinator-agent-configuration-derivation-substitute-urls
             guix-build-coordinator-agent-configuration-non-derivation-substitute-urls
@@ -177,6 +178,9 @@
   (max-parallel-builds
    guix-build-coordinator-agent-configuration-max-parallel-builds
    (default 1))
+  (max-allocated-builds
+   guix-build-coordinator-agent-configuration-max-allocated-builds
+   (default #f))
   (max-1min-load-average
    guix-build-coordinator-agent-configuration-max-1min-load-average
    (default #f))
@@ -406,6 +410,7 @@
 (define (guix-build-coordinator-agent-shepherd-services config)
   (match-record config <guix-build-coordinator-agent-configuration>
     (package user coordinator authentication max-parallel-builds
+             max-allocated-builds
              max-1min-load-average
              derivation-substitute-urls non-derivation-substitute-urls
              systems)
@@ -439,6 +444,10 @@
                                                 token-file))))
                       #$(simple-format #f "--max-parallel-builds=~A"
                                        max-parallel-builds)
+                      #$@(if max-allocated-builds
+                             #~(#$(simple-format #f "--max-allocated-builds=~A"
+                                                 max-allocated-builds))
+                             #~())
                       #$@(if max-1min-load-average
                              #~(#$(simple-format #f "--max-1min-load-average=~A"
                                                  max-1min-load-average))