~ruther/guix-local

e83b9fe44e43ce9e8c1aad1150eaca0b5b865ca2 — Christopher Baines 3 years ago 4230de5
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.
2 files changed, 12 insertions(+), 0 deletions(-)

M doc/guix.texi
M gnu/services/guix.scm
M doc/guix.texi => doc/guix.texi +3 -0
@@ 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

M gnu/services/guix.scm => gnu/services/guix.scm +9 -0
@@ 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))