[PATCH 0/2] Add the Build Farm Front-End

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Christopher Baines
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 4 Sep 2023 14:29
(address . guix-patches@gnu.org)
874jkadsto.fsf@cbaines.net
This is the package and service for the Build Farm Front-End, intended
to replace the Guix Build Coordinator queue builds script, and also
provide a web interface for build farms.


Christopher Baines (2):
gnu: Add bffe.
services: guix: Add bffe-service-type.

doc/guix.texi | 59 +++++++++++++
gnu/packages/package-management.scm | 51 +++++++++++
gnu/services/guix.scm | 131 +++++++++++++++++++++++++++-
gnu/tests/guix.scm | 81 ++++++++++++++++-
4 files changed, 320 insertions(+), 2 deletions(-)


base-commit: 8d70ff3a49f7cdf0eab93b3a1c54ec2f016afc4a
--
2.41.0
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmT1zdNfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xdfxg//fPYe1MJv4RaxHlXrxhMv8LhcLc0yLVov
oAiocG08YKqmSjmn92koJ/c6nDCoyHO+b0ggG7PSOx3el+3fXri2cVAe6hMjJuFr
r5rtISCZac9qWe8HyaSeB4+ulnM1TKuAna4Njwt9dcnrBzMiQKWT6Dw29muAQwfB
mLXrCwzuymi3SK6ZGx+mDCVpx6RE7yaoJYQg1JtmrJ8e4DnPsQ+QgtguxphmwN8T
Io2rMKi1NtQmGe8TzqZkQSdrvxSuGLpVQEYI5NzTMrpMEtgE9z++UmN/eIZKGysX
te8F9Q4QFAXih+qOJ7GvIpzjNJT55pFIppcjGQ7wLFri69vrZw0xSGqztoCJbpJn
oBW7vcRyeX6rFAHGWRLW1hJfqKx3Hph+cFiSQGtI8vYTp9eQ7LXHePwAlJS1dWfE
ADSjCAbUxE79APVxQtVRK4WaYxjLz0mj3XalRzUpqXW/m9tkHyveHWsSe7hPV1SA
1Z3vgu9fKLT/yjhANQV4RNZVsookBQo28BlNgUdYU/MkmBzXLA8JYnb1yOqn+bxs
+qsEmGr87/Mf7XcWfY6XeKGaVZRs+VIB4VKFGplVIbVZhsIRuc26HdA1LG5E9bvE
wIPTqJKOrFKw+zE14BiVIRjG4R54qXTU8TBNrKkaCaGyd0zTlvNdfz053MVEpV2S
5NWQzcCrmfQ=
=Q5+y
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 4 Sep 2023 14:32
[PATCH 1/2] gnu: Add bffe.
(address . 65732@debbugs.gnu.org)
cdf0599af2f9636e37b44f489fd2cfef1fcd74cf.1693830767.git.mail@cbaines.net
* gnu/packages/package-management.scm (bffe): New variable.
---
gnu/packages/package-management.scm | 51 +++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)

Toggle diff (66 lines)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index aa24798071..a49f302bb7 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -961,6 +961,57 @@ (define-public rpm
;; The whole is GPLv2+; librpm itself is dual-licensed LGPLv2+ | GPLv2+.
(license license:gpl2+)))
+(define-public bffe
+ (let ((commit "3ce4613908bb4a42494323ef0597f6c3ae2dee24")
+ (revision "1"))
+ (package
+ (name "bffe")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.cbaines.net/guix/bffe")
+ (commit commit)))
+ (sha256
+ (base32
+ "0g7arfl8rwybqpmw8vc16ilvrva1bb435lqgbqypx0nphbcv2pxn"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list pkg-config
+ autoconf
+ automake
+
+ ;; Guile libraries are needed here for cross-compilation.
+ (car (assoc-ref (package-native-inputs guix) "guile"))
+ guile-gnutls
+ guile-json-4
+ guix
+ guix-data-service
+ guix-build-coordinator
+ guile-fibers-1.3
+ guile-prometheus
+ guile-lib))
+ (propagated-inputs
+ (list guile-gnutls
+ guile-json-4
+ guix
+ guix-data-service
+ guix-build-coordinator
+ guile-fibers-1.3
+ guile-prometheus
+ guile-lib))
+ (home-page "https://git.cbaines.net/guix/bffe")
+ (synopsis "Build Farm Front-end for Guix")
+ (description
+ "The BFFE of Build Farm Front-end is an experimental frontend for Guix
+build farms. It works together with the Guix Data Service and Guix Build
+Coordinator to submit builds and monitor the activity.
+
+It functions as a Guile library, with the @code{run-bffe-service} procedure in
+the @code{(bffe)} module as the entry point.")
+ (license license:gpl3+))))
+
(define-public python-anaconda-client
(package
(name "python-anaconda-client")

base-commit: 8d70ff3a49f7cdf0eab93b3a1c54ec2f016afc4a
--
2.41.0
C
C
Christopher Baines wrote on 4 Sep 2023 14:32
[PATCH 2/2] services: guix: Add bffe-service-type.
(address . 65732@debbugs.gnu.org)
516c325562dcee78ef795b98ae0b5d739b790b89.1693830767.git.mail@cbaines.net
This is intended to replace the functionality of the Guix Build Coordinator
queue builds script, and also provide a web interface for build farms.

* gnu/services/guix.scm (<bffe-configuration>): New record type.
(bffe-configuration, bffe-configuration?,
bffe-configuration-package,
bffe-configuration-user,
bffe-configuration-group,
bffe-configuration-arguments
bffe-configuration-extra-environment-variables): New procedures.
(bffe-service-type): New variable.
* gnu/tests/guix.scm (%test-bffe): New variable.
* doc/guix.texi (Guix Services): Document the new service.
---
doc/guix.texi | 59 +++++++++++++++++++
gnu/services/guix.scm | 131 +++++++++++++++++++++++++++++++++++++++++-
gnu/tests/guix.scm | 81 +++++++++++++++++++++++++-
3 files changed, 269 insertions(+), 2 deletions(-)

Toggle diff (314 lines)
diff --git a/doc/guix.texi b/doc/guix.texi
index a6b74ce9c7..bf12f8945d 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -38083,6 +38083,65 @@ PAM Mount Service
@node Guix Services
@subsection Guix Services
+@subsubheading Build Farm Front-End (BFFE)
+The @uref{https://git.cbaines.net/guix/bffe/,Build Farm Front-End}
+assists with building Guix packages in bulk. It's responsible for
+submitting builds and displaying the status of the build farm.
+
+@defvar bffe-service-type
+Service type for the Build Farm Front-End. Its value must be a
+@code{bffe-configuration} object.
+@end defvar
+
+@deftp {Data Type} bffe-configuration
+Data type representing the configuration of the Build Farm Front-End.
+
+@table @asis
+@item @code{package} (default: @code{bffe})
+The Build Farm Front-End package to use.
+
+@item @code{user} (default: @code{"bffe"})
+The system user to run the service as.
+
+@item @code{group} (default: @code{"bffe"})
+The system group to run the service as.
+
+@item @code{arguments}
+A list of arguments to the Build Farm Front-End. These are passed to
+the @code{run-bffe-service} procedure when starting the service.
+
+For example, the following value directs the Build Farm Front-End to
+submit builds for derivations available from @code{data.guix.gnu.org} to
+the Build Coordinator instance assumed to be running on the same
+machine.
+
+@example
+(list
+ #:build
+ (list
+ (build-from-guix-data-service
+ (data-service-url "https://data.guix.gnu.org")
+ (build-coordinator-url "http://127.0.0.1:8746")
+ (branches '("master"))
+ (systems '("x86_64-linux" "i686-linux"))
+ (systems-and-targets
+ (map (lambda (target)
+ (cons "x86_64-linux" target))
+ '("aarch64-linux-gnu"
+ "i586-pc-gnu")))
+ (build-priority (const 0))))
+ #:web-server-args
+ '(#:event-source "https://example.com"
+ #:controller-args
+ (#:title "example.com build farm")))
+@end example
+
+@item @code{extra-environment-variables} (default: @var{'()})
+Extra environment variables to set via the shepherd service.
+
+@end table
+@end deftp
+
@subsubheading Guix Build Coordinator
The @uref{https://git.cbaines.net/guix/build-coordinator/,Guix Build
Coordinator} aids in distributing derivation builds among machines
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 99b21f52d8..e9db2a231d 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -140,7 +140,17 @@ (define-module (gnu services guix)
nar-herder-cached-compression-configuration-type
nar-herder-cached-compression-configuration-level
nar-herder-cached-compression-configuration-directory
- nar-herder-cached-compression-configuration-directory-max-size))
+ nar-herder-cached-compression-configuration-directory-max-size
+
+ bffe-configuration
+ bffe-configuration?
+ bffe-configuration-package
+ bffe-configuration-user
+ bffe-configuration-group
+ bffe-configuration-arguments
+ bffe-configuration-extra-environment-variables
+
+ bffe-service-type))
;;;; Commentary:
;;;
@@ -1030,3 +1040,122 @@ (define nar-herder-service-type
nar-herder-account)))
(description
"Run a Nar Herder server.")))
+
+
+;;;
+;;; Build Farm Front-end (BFFE)
+;;;
+
+(define-record-type* <bffe-configuration>
+ bffe-configuration make-bffe-configuration
+ bffe-configuration?
+ (package bffe-configuration-package
+ (default bffe))
+ (user bffe-configuration-user
+ (default "bffe"))
+ (group bffe-configuration-group
+ (default "bffe"))
+ (arguments bffe-configuration-arguments)
+ (extra-environment-variables
+ bffe-configuration-extra-environment-variables
+ (default '())))
+
+(define (bffe-shepherd-services config)
+ (define bffe-package
+ (bffe-configuration-package config))
+
+ (define start-script
+ (program-file
+ "run-bffe"
+ (with-extensions (cons
+ bffe-package
+ ;; This is a poorly constructed Guile load path,
+ ;; since it contains things that aren't Guile
+ ;; libraries, but it means that the Guile
+ ;; libraries needed for BFFE don't need to be
+ ;; individually specified here.
+ (map second (package-transitive-propagated-inputs
+ bffe-package)))
+ #~(begin
+ (use-modules (bffe)
+ (bffe manage-builds))
+
+ (setvbuf (current-output-port) 'line)
+ (setvbuf (current-error-port) 'line)
+
+ (simple-format #t "starting the bffe:\n ~A\n"
+ (current-filename))
+
+ (apply run-bffe-service
+ (append
+ (list #:pid-file "/var/run/bffe/pid")
+ #$(bffe-configuration-arguments config)))))
+ #:guile guile-3.0))
+
+ (match-record config <bffe-configuration>
+ (package user group arguments extra-environment-variables)
+
+ (list
+ (shepherd-service
+ (documentation "Build Farm Front-end")
+ (provision '(bffe))
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ (list #$start-script)
+ #:user #$user
+ #:group #$group
+ #:pid-file "/var/run/bffe/pid"
+ #:directory "/var/lib/bffe"
+ #:environment-variables
+ `(,(string-append
+ "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
+ "LC_ALL=en_US.utf8"
+ #$@extra-environment-variables)
+ #:log-file "/var/log/bffe/server.log"))
+ (stop #~(make-kill-destructor))))))
+
+(define (bffe-activation config)
+ #~(begin
+ (use-modules (guix build utils))
+
+ (define %user
+ (getpw #$(bffe-configuration-user
+ config)))
+
+ (chmod "/var/lib/bffe" #o755)
+
+ (mkdir-p "/var/log/bffe")
+
+ ;; Allow writing the PID file
+ (mkdir-p "/var/run/bffe")
+ (chown "/var/run/bffe"
+ (passwd:uid %user)
+ (passwd:gid %user))))
+
+(define (bffe-account config)
+ (match-record config <bffe-configuration>
+ (user group)
+ (list (user-group
+ (name group)
+ (system? #t))
+ (user-account
+ (name user)
+ (group group)
+ (system? #t)
+ (comment "BFFE user")
+ (home-directory "/var/lib/bffe")
+ (shell (file-append shadow "/sbin/nologin"))))))
+
+(define bffe-service-type
+ (service-type
+ (name 'bffe)
+ (extensions
+ (list
+ (service-extension shepherd-root-service-type
+ bffe-shepherd-services)
+ (service-extension activation-service-type
+ bffe-activation)
+ (service-extension account-service-type
+ bffe-account)))
+ (description
+ "Run the Build Farm Front-end.")))
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index ad0980a10c..240ded4825 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -37,7 +37,8 @@ (define-module (gnu tests guix)
#:use-module (ice-9 match)
#:export (%test-guix-build-coordinator
%test-guix-data-service
- %test-nar-herder))
+ %test-nar-herder
+ %test-bffe))
;;;
;;; Guix Build Coordinator
@@ -325,3 +326,81 @@ (define %test-nar-herder
(name "nar-herder")
(description "Connect to a running Nar Herder server.")
(value (run-nar-herder-test))))
+
+
+;;;
+;;; Build Farm Front-end
+;;;
+
+(define %bffe-os
+ (simple-operating-system
+ (service dhcp-client-service-type)
+ (service guix-build-coordinator-service-type)
+ (service bffe-service-type
+ (bffe-configuration
+ (arguments
+ #~(list
+ #:web-server-args
+ '(#:port 8767
+ #:controller-args
+ (#:title "Test title"))))))))
+
+(define (run-bffe-test)
+ (define os
+ (marionette-operating-system
+ %bffe-os
+ #:imported-modules '((gnu services herd)
+ (guix combinators))))
+
+ (define forwarded-port 8767)
+
+ (define vm
+ (virtual-machine
+ (operating-system os)
+ (memory-size 1024)
+ (port-forwardings `((,forwarded-port . 8767)))))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (srfi srfi-11) (srfi srfi-64)
+ (gnu build marionette)
+ (web uri)
+ (web client)
+ (web response))
+
+ (define marionette
+ (make-marionette (list #$vm)))
+
+ (test-runner-current (system-test-runner #$output))
+ (test-begin "bffe")
+
+ (test-assert "service running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (match (start-service 'bffe)
+ (#f #f)
+ (('service response-parts ...)
+ (match (assq-ref response-parts 'running)
+ ((pid) (number? pid))))))
+ marionette))
+
+ (test-equal "http-get"
+ 200
+ (let-values
+ (((response text)
+ (http-get #$(simple-format
+ #f "http://localhost:~A/" forwarded-port)
+ #:decode-body? #t)))
+ (response-code response)))
+
+ (test-end))))
+
+ (gexp->derivation "bffe-test" test))
+
+(define %test-bffe
+ (system-test
+ (name "bffe")
+ (description "Connect to a running Build Farm Front-end.")
+ (value (run-bffe-test))))
--
2.41.0
L
L
Ludovic Courtès wrote on 14 Sep 2023 16:58
Re: bug#65732: [PATCH 0/2] Add the Build Farm Front-End
(name . Christopher Baines)(address . mail@cbaines.net)(address . 65732@debbugs.gnu.org)
871qf0ajix.fsf_-_@gnu.org
Hello,

Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (3 lines)
> * gnu/packages/package-management.scm (bffe): New variable.


[...]

Toggle quote (3 lines)
> + ;; Guile libraries are needed here for cross-compilation.
> + (car (assoc-ref (package-native-inputs guix) "guile"))

Rather: (lookup-package-native-input guix "guile")

Otherwise LGTM.

Toggle quote (7 lines)
> + (synopsis "Build Farm Front-end for Guix")
> + (description
> + "The BFFE of Build Farm Front-end is an experimental frontend for Guix
> +build farms. It works together with the Guix Data Service and Guix Build
> +Coordinator to submit builds and monitor the activity.

Looks nice! Have you already deployed it somewhere?

Ludo’.
L
L
Ludovic Courtès wrote on 14 Sep 2023 17:02
(name . Christopher Baines)(address . mail@cbaines.net)(address . 65732@debbugs.gnu.org)
87wmws94sg.fsf_-_@gnu.org
Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (14 lines)
> This is intended to replace the functionality of the Guix Build Coordinator
> queue builds script, and also provide a web interface for build farms.
>
> * gnu/services/guix.scm (<bffe-configuration>): New record type.
> (bffe-configuration, bffe-configuration?,
> bffe-configuration-package,
> bffe-configuration-user,
> bffe-configuration-group,
> bffe-configuration-arguments
> bffe-configuration-extra-environment-variables): New procedures.
> (bffe-service-type): New variable.
> * gnu/tests/guix.scm (%test-bffe): New variable.
> * doc/guix.texi (Guix Services): Document the new service.

Overall LGTM.

Nitpick: you can make lines a bit longer, for instance:

Toggle quote (8 lines)
> +(define (bffe-activation config)
> + #~(begin
> + (use-modules (guix build utils))
> +
> + (define %user
> + (getpw #$(bffe-configuration-user
> + config)))

‘config’ can be moved to the previous line.

Toggle quote (4 lines)
> + (chown "/var/run/bffe"
> + (passwd:uid %user)
> + (passwd:gid %user))))

This can be a single line.

Toggle quote (5 lines)
> + (extensions
> + (list
> + (service-extension shepherd-root-service-type
> + bffe-shepherd-services)

And: (list (service-extension …

Ludo’.
C
C
Christopher Baines wrote on 15 Sep 2023 11:06
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 65732@debbugs.gnu.org)
87fs3fsszp.fsf@cbaines.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (14 lines)
> Hello,
>
> Christopher Baines <mail@cbaines.net> skribis:
>
>> * gnu/packages/package-management.scm (bffe): New variable.
>
>
> [...]
>
>> + ;; Guile libraries are needed here for cross-compilation.
>> + (car (assoc-ref (package-native-inputs guix) "guile"))
>
> Rather: (lookup-package-native-input guix "guile")

I've actually changed this to guile-next now, as the bffe needs the new
scheme custom/soft ports that don't cause issues with fibers.

Toggle quote (9 lines)
>> + (synopsis "Build Farm Front-end for Guix")
>> + (description
>> + "The BFFE of Build Farm Front-end is an experimental frontend for Guix
>> +build farms. It works together with the Guix Data Service and Guix Build
>> +Coordinator to submit builds and monitor the activity.
>
> Looks nice! Have you already deployed it somewhere?

It's been running on bayfront for a while, and manages pages like:


As well as taking over the job of querying the data service for builds
and submitting them to the coordinator.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmUEHzpfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XdD3w/9F65TsL7n56joI2KKtBGnPeGjnFHfts7X
0wK3vAi8jvDsJeoOcD/L5MybAhQnvKxXUXxgqgRP1jF1KzPOXobwJZ+iGbPCMdAk
AquJbzxWZCzlneU481vb37oXn6S/hA1H+Y7C6XNu7bylvNcVoQwlvP+8DcbfbgYt
N95ErHjsyViYMLkwqHyOO6IVCz5IKki6NXahq6l1Gb3rvCEw3rb+BZ2zYX2/Sa67
7ZhCOgE0MFa9eugG4TdLa4PoHIJfPExxozk/QwoBTYtmL0Ax3REYbS5b9OrUjAvU
wJLhnrPgzpzLYWxw9NHjTGktJmh80ZJGMtSqeW/Lim1WpuT9ykUueMryBqHrWZ2X
M7UAW+uNM/t5e7OqBzzELlqhkNlUS4wJ701rEWi5agXfKT/14eu4+cBSUjxZWTdC
GkKBS4zEnsUF5akIvXotWbpTAZzHnK+oyLa6purvavq8t4zGfRe48geE7ys3QS/9
dTEIjp6oWgLpU1W0mgFwcF3yMcIEls4apd3DS0GYDwiDT3lZlxnXOyCL+4rqKnul
RAnFqml+mjlZe4tKKdZv3texaE3831VCyFmXzsEjluEEG+XURE9LEB5OoGxJXp2H
wdVdFTteVIsGi82k/7jygEQvUpqDpSbZmvEPZAE1PQO7exqyHOnRUYPiuB2Ow7+6
dtLlf3hzPvE=
=PqMf
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 15 Sep 2023 11:09
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 65732-done@debbugs.gnu.org)
87bke3ssst.fsf@cbaines.net
Ludovic Courtès <ludo@gnu.org> writes:

Toggle quote (43 lines)
> Christopher Baines <mail@cbaines.net> skribis:
>
>> This is intended to replace the functionality of the Guix Build Coordinator
>> queue builds script, and also provide a web interface for build farms.
>>
>> * gnu/services/guix.scm (<bffe-configuration>): New record type.
>> (bffe-configuration, bffe-configuration?,
>> bffe-configuration-package,
>> bffe-configuration-user,
>> bffe-configuration-group,
>> bffe-configuration-arguments
>> bffe-configuration-extra-environment-variables): New procedures.
>> (bffe-service-type): New variable.
>> * gnu/tests/guix.scm (%test-bffe): New variable.
>> * doc/guix.texi (Guix Services): Document the new service.
>
> Overall LGTM.
>
> Nitpick: you can make lines a bit longer, for instance:
>
>> +(define (bffe-activation config)
>> + #~(begin
>> + (use-modules (guix build utils))
>> +
>> + (define %user
>> + (getpw #$(bffe-configuration-user
>> + config)))
>
> ‘config’ can be moved to the previous line.
>
>> + (chown "/var/run/bffe"
>> + (passwd:uid %user)
>> + (passwd:gid %user))))
>
> This can be a single line.
>
>> + (extensions
>> + (list
>> + (service-extension shepherd-root-service-type
>> + bffe-shepherd-services)
>
> And: (list (service-extension …

I've tweaked the formatting as suggested above and pushed this to master
as 82abf6ddadc6139148660440a064e60ae68f238e.

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmUEIDJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xfq3Q/7Br44laeuCOAST1PxK471avshaHNAigIP
i8WZwSczBGr8dzfkEu08OHCjPlJUrdk/spQFFTO0PZbrOa6aRUnPsVqW8rOWpHC2
674LpxvWFyDaAfAeEshUdw1xavKEiQpf+RWoNVBEfhkFM/sV5XNJhgbNrYYY6PHb
iUNEx7KXdkNw7SwxiwLQOB53asd3fJMURqsNqqRVL/4+E7w3IbhFZ2dFM5gxloiQ
Ek2mSFmRc76qYh0HMwDkdieM1nUGYxTZcrrbJCeX3LsPxyzuKZMvdHulMlc5qOwo
fV7oL/TZOGhBHFDOdL+r/59vZdkEAeQc3PDiDt16QKX8nQtmD83VNDdBiCMoU/pT
9IXODLmTk+Uq4JjXwOA7yOKEdSX8JSI4xuqiaLmwGdeErxWiicz4sgO6uBqhRp6M
0DZrgOVCmboANgsR2Sr2cHVet1ofpj6PL9JjDjPZnPQy2vUy+09dTRGcIMXQzxu/
/nUVgQt6y2WUBz5tnT5lDzzaea3xYn/aBANPMTmqhf2sZbNhowsUKZVTZnO3Xp8U
lWxnhHeFuILsl2wEZ0sga6A1pd8ahhjQXWU7qEbqiGneQkn0L1qEJrrDey8DTfDd
DczrgJylUFPXA3aF2acPuHMCbLXQ5Lb2HkL2EeB8OJG4HXwIXzY68V/1KiIi99uJ
yd1JvvIVDBU=
=7s9X
-----END PGP SIGNATURE-----

Closed
L
L
Ludovic Courtès wrote on 17 Sep 2023 12:11
(name . Christopher Baines)(address . mail@cbaines.net)(address . 65732@debbugs.gnu.org)
87sf7dyuqi.fsf@gnu.org
Christopher Baines <mail@cbaines.net> skribis:

Toggle quote (9 lines)
> It's been running on bayfront for a while, and manages pages like:
>
> https://bordeaux.guix.gnu.org/
> https://bordeaux.guix.gnu.org/activity
> https://bordeaux.guix.gnu.org/build/21fa2ed8-b4d0-43ca-8531-e1fa33266708
>
> As well as taking over the job of querying the data service for builds
> and submitting them to the coordinator.

Oh, neat!

Ludo’.
?
Your comment

This issue is archived.

To comment on this conversation send an email to 65732@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 65732
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch