From e83b9fe44e43ce9e8c1aad1150eaca0b5b865ca2 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 11 Oct 2022 11:41:15 +0100 Subject: 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. --- doc/guix.texi | 3 +++ gnu/services/guix.scm | 9 +++++++++ 2 files changed, 12 insertions(+) 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 @@ (define-module (gnu services guix) 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 @@ (define-record-type* (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-service-type (define (guix-build-coordinator-agent-shepherd-services config) (match-record config (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 @@ (define (guix-build-coordinator-agent-shepherd-services config) 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)) -- cgit v1.2.3