From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 04 08:30:51 2023 Received: (at submit) by debbugs.gnu.org; 4 Sep 2023 12:30:52 +0000 Received: from localhost ([127.0.0.1]:49002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qd8jD-00034o-Ka for submit@debbugs.gnu.org; Mon, 04 Sep 2023 08:30:51 -0400 Received: from lists.gnu.org ([2001:470:142::17]:54758) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qd8j9-00034U-Ta for submit@debbugs.gnu.org; Mon, 04 Sep 2023 08:30:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qd8iw-0002J6-8k for guix-patches@gnu.org; Mon, 04 Sep 2023 08:30:35 -0400 Received: from mira.cbaines.net ([2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qd8ig-0001RL-3e for guix-patches@gnu.org; Mon, 04 Sep 2023 08:30:21 -0400 Received: from localhost (unknown [217.155.61.229]) by mira.cbaines.net (Postfix) with ESMTPSA id E1C9827BBE2 for ; Mon, 4 Sep 2023 13:30:11 +0100 (BST) Received: from felis (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id c83b4ffb for ; Mon, 4 Sep 2023 12:30:11 +0000 (UTC) User-agent: mu4e 1.10.5; emacs 28.2 From: Christopher Baines To: guix-patches@gnu.org Subject: [PATCH 0/2] Add the Build Farm Front-End Date: Mon, 04 Sep 2023 13:29:12 +0100 Message-ID: <874jkadsto.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27; envelope-from=mail@cbaines.net; helo=mira.cbaines.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable 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 =2D-=20 2.41.0 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----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----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 04 08:32:51 2023 Received: (at 65732) by debbugs.gnu.org; 4 Sep 2023 12:32:51 +0000 Received: from localhost ([127.0.0.1]:49009 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qd8l9-00038I-6k for submit@debbugs.gnu.org; Mon, 04 Sep 2023 08:32:51 -0400 Received: from mira.cbaines.net ([2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27]:51059) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qd8l6-000384-P0 for 65732@debbugs.gnu.org; Mon, 04 Sep 2023 08:32:49 -0400 Received: from localhost (unknown [217.155.61.229]) by mira.cbaines.net (Postfix) with ESMTPSA id 4159A27BBE2 for <65732@debbugs.gnu.org>; Mon, 4 Sep 2023 13:32:48 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id f5f16138 for <65732@debbugs.gnu.org>; Mon, 4 Sep 2023 12:32:47 +0000 (UTC) From: Christopher Baines To: 65732@debbugs.gnu.org Subject: [PATCH 1/2] gnu: Add bffe. Date: Mon, 4 Sep 2023 13:32:46 +0100 Message-ID: X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65732 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/package-management.scm (bffe): New variable. --- gnu/packages/package-management.scm | 51 +++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) 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 From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 04 08:32:52 2023 Received: (at 65732) by debbugs.gnu.org; 4 Sep 2023 12:32:52 +0000 Received: from localhost ([127.0.0.1]:49011 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qd8l9-00038K-JR for submit@debbugs.gnu.org; Mon, 04 Sep 2023 08:32:52 -0400 Received: from mira.cbaines.net ([212.71.252.8]:42878) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qd8l6-000383-Ul for 65732@debbugs.gnu.org; Mon, 04 Sep 2023 08:32:49 -0400 Received: from localhost (unknown [217.155.61.229]) by mira.cbaines.net (Postfix) with ESMTPSA id 5F67627BBE9 for <65732@debbugs.gnu.org>; Mon, 4 Sep 2023 13:32:48 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 38d3f82c for <65732@debbugs.gnu.org>; Mon, 4 Sep 2023 12:32:47 +0000 (UTC) From: Christopher Baines To: 65732@debbugs.gnu.org Subject: [PATCH 2/2] services: guix: Add bffe-service-type. Date: Mon, 4 Sep 2023 13:32:47 +0100 Message-ID: <516c325562dcee78ef795b98ae0b5d739b790b89.1693830767.git.mail@cbaines.net> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 65732 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) 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 (): 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(-) 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 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 + (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 + (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 From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 14 10:59:06 2023 Received: (at 65732) by debbugs.gnu.org; 14 Sep 2023 14:59:06 +0000 Received: from localhost ([127.0.0.1]:40858 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgnoA-00032g-Ep for submit@debbugs.gnu.org; Thu, 14 Sep 2023 10:59:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40022) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgno7-000323-Cp for 65732@debbugs.gnu.org; Thu, 14 Sep 2023 10:59:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgnnu-0004fz-8j; Thu, 14 Sep 2023 10:58:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=3i9IIlVgVQGLjvpI5/HSOGo5nzg/I7ZeiEHhDVRUT3g=; b=P7cVNZtn8+MLXc7uh2BN IHPkatEjYwhqqDmzg6EVMqzaWjKLJJMPisOzQBJnWultsylZFVdi3+GcfqSB8DgQGNFCUrGvw0cMI fMouO7nzYLBcrrlz5BaitxyK5Gg+sULhILH/hPrmsK68V1PtorQe32OJ3L90mVY49z0W8aSeazJK1 vylQohg/G15Y51HAdEoGxUC3NZ4NYkyhHhphGZo8Vdzc329PkQPBFXx0nN6WZl6C5Fmxij7EFim8v yrjdC8OSY2EhC4ZkF7A4m3W2UiUJo+RG9J0+FRZMMZuziA7VGFVKjt7tquJ3gmM3tkTC5mPWY/Wi2 HnCWMZl2rp4f9w==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Christopher Baines Subject: Re: bug#65732: [PATCH 0/2] Add the Build Farm Front-End References: <874jkadsto.fsf@cbaines.net> Date: Thu, 14 Sep 2023 16:58:46 +0200 In-Reply-To: (Christopher Baines's message of "Mon, 4 Sep 2023 13:32:46 +0100") Message-ID: <871qf0ajix.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 65732 Cc: 65732@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello, Christopher Baines 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") Otherwise LGTM. > + (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. Looks nice! Have you already deployed it somewhere? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 14 11:03:00 2023 Received: (at 65732) by debbugs.gnu.org; 14 Sep 2023 15:03:00 +0000 Received: from localhost ([127.0.0.1]:40883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgnrv-0005qH-VB for submit@debbugs.gnu.org; Thu, 14 Sep 2023 11:03:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41028) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qgnrq-0005py-JH for 65732@debbugs.gnu.org; Thu, 14 Sep 2023 11:02:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qgnrf-0005ag-8v; Thu, 14 Sep 2023 11:02:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=CAOS0NzhPrkepDllkDIa+WIpXE8NE1l7hffn9ERt0FU=; b=MXpfw3ss+4ShP1va2qYo rT4DKWruRAvXw5o71R6OQtWQyB2qd3yxYOhJaBT8KfRkYJk+eAydNt2GFNGFiXQWGnF9Rx1vsX8rK T5uo8dlNyYN8peqb/uouRuunL6F5Q437tKLF1c6XurnN9h4/O20TeD3XihGsqPXHNAJP6dEw5xeII 4pyv2Qs7HbAshJISnuLKBtxuqqUzxh9UkBNekDr15Rpnh/kU89x3NDrB4DhOZt2Ac5HeC6UjoOJo0 w9N5zS0au3zN43OfrjotBnvYZVIhogo6yD7Ohc+iZ6m1PRGaIdIwOLv7Z8QdCkCIuTqdWaOdOMxiw 9m8UA9/D3Pw7Sg==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Christopher Baines Subject: Re: bug#65732: [PATCH 0/2] Add the Build Farm Front-End References: <516c325562dcee78ef795b98ae0b5d739b790b89.1693830767.git.mail@cbaines.net> Date: Thu, 14 Sep 2023 17:02:23 +0200 In-Reply-To: <516c325562dcee78ef795b98ae0b5d739b790b89.1693830767.git.mail@cbaines.net> (Christopher Baines's message of "Mon, 4 Sep 2023 13:32:47 +0100") Message-ID: <87wmws94sg.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 65732 Cc: 65732@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Christopher Baines skribis: > This is intended to replace the functionality of the Guix Build Coordinat= or > queue builds script, and also provide a web interface for build farms. > > * gnu/services/guix.scm (): 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))) =E2=80=98config=E2=80=99 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 =E2=80=A6 Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 05:09:30 2023 Received: (at 65732) by debbugs.gnu.org; 15 Sep 2023 09:09:30 +0000 Received: from localhost ([127.0.0.1]:42039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qh4pO-0001LS-0G for submit@debbugs.gnu.org; Fri, 15 Sep 2023 05:09:30 -0400 Received: from mira.cbaines.net ([212.71.252.8]:42908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qh4pI-0001L9-9G for 65732@debbugs.gnu.org; Fri, 15 Sep 2023 05:09:28 -0400 Received: from localhost (unknown [217.155.61.229]) by mira.cbaines.net (Postfix) with ESMTPSA id 16ABC27BBE2; Fri, 15 Sep 2023 10:09:17 +0100 (BST) Received: from felis (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 5285e447; Fri, 15 Sep 2023 09:09:16 +0000 (UTC) References: <874jkadsto.fsf@cbaines.net> <871qf0ajix.fsf_-_@gnu.org> User-agent: mu4e 1.10.5; emacs 28.2 From: Christopher Baines To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#65732: [PATCH 0/2] Add the Build Farm Front-End Date: Fri, 15 Sep 2023 10:06:22 +0100 In-reply-to: <871qf0ajix.fsf_-_@gnu.org> Message-ID: <87fs3fsszp.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65732 Cc: 65732@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Hello, > > Christopher Baines 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. >> + (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 fo= r Guix >> +build farms. It works together with the Guix Data Service and Guix Bui= ld >> +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: 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. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----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----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 05:13:34 2023 Received: (at 65732-done) by debbugs.gnu.org; 15 Sep 2023 09:13:34 +0000 Received: from localhost ([127.0.0.1]:42046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qh4tK-0001SX-00 for submit@debbugs.gnu.org; Fri, 15 Sep 2023 05:13:34 -0400 Received: from mira.cbaines.net ([2a01:7e00:e000:2f8:fd4d:b5c7:13fb:3d27]:47293) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qh4tG-0001SM-N8 for 65732-done@debbugs.gnu.org; Fri, 15 Sep 2023 05:13:32 -0400 Received: from localhost (unknown [217.155.61.229]) by mira.cbaines.net (Postfix) with ESMTPSA id 2C93F27BBE2; Fri, 15 Sep 2023 10:13:23 +0100 (BST) Received: from felis (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 08d11fb8; Fri, 15 Sep 2023 09:13:22 +0000 (UTC) References: <516c325562dcee78ef795b98ae0b5d739b790b89.1693830767.git.mail@cbaines.net> <87wmws94sg.fsf_-_@gnu.org> User-agent: mu4e 1.10.5; emacs 28.2 From: Christopher Baines To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#65732: [PATCH 0/2] Add the Build Farm Front-End Date: Fri, 15 Sep 2023 10:09:18 +0100 In-reply-to: <87wmws94sg.fsf_-_@gnu.org> Message-ID: <87bke3ssst.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 65732-done Cc: 65732-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Christopher Baines skribis: > >> This is intended to replace the functionality of the Guix Build Coordina= tor >> queue builds script, and also provide a web interface for build farms. >> >> * gnu/services/guix.scm (): 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))) > > =E2=80=98config=E2=80=99 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 =E2=80=A6 I've tweaked the formatting as suggested above and pushed this to master as 82abf6ddadc6139148660440a064e60ae68f238e. Thanks, Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----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----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 17 06:12:06 2023 Received: (at 65732) by debbugs.gnu.org; 17 Sep 2023 10:12:06 +0000 Received: from localhost ([127.0.0.1]:49108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhol3-0003X8-Qx for submit@debbugs.gnu.org; Sun, 17 Sep 2023 06:12:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58390) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qhol1-0003Wd-Rq for 65732@debbugs.gnu.org; Sun, 17 Sep 2023 06:12:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qhokp-0004cB-0w; Sun, 17 Sep 2023 06:11:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=uWgpvvCO5pmaSDdLVs5UZbbJtKgv39FtDhnXsyGvTDE=; b=gIP9/mcxovbw20Gwu0f3 yZXzB8kZcR09vgQHNgbN5dTPeuSp3te08xhcKTwVWs6+oZYbPX87cskq+ZH3w6GtMVo/h7IJXGjQR Qi7GR5tYz166mNuBv9x7z5MGDeE8uXeDyzK0ADUKYsU/9TXgEQbg39LWsRrWC8mz1T+Hnh1FxdoBN 1GdEZdcWwXoyUMGcHDJkrlqKd9p9R4A3F6rVKRcsDSazBP1H/MkKRDHZ57kKH0VE5StYZg16vTh0B nMxDtmXKuw/pKXM/K76ZjCFV1pdPIPDE2jWIJAH5WvuyDBGo2YjMoR3WrUpkwVnzpmA+OdyXaLqFO Qi/rqzmnFh0WWw==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Christopher Baines Subject: Re: bug#65732: [PATCH 0/2] Add the Build Farm Front-End References: <874jkadsto.fsf@cbaines.net> <871qf0ajix.fsf_-_@gnu.org> <87fs3fsszp.fsf@cbaines.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Primidi 1 jour =?utf-8?Q?compl=C3=A9mentaire?= an 231 de la =?utf-8?Q?R=C3=A9volution=2C?= jour de la Vertu X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 17 Sep 2023 12:11:49 +0200 In-Reply-To: <87fs3fsszp.fsf@cbaines.net> (Christopher Baines's message of "Fri, 15 Sep 2023 10:06:22 +0100") Message-ID: <87sf7dyuqi.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 65732 Cc: 65732@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Christopher Baines skribis: > 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=E2=80=99. From unknown Thu Jun 19 12:27:01 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 15 Oct 2023 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator