From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 18 16:21:10 2020 Received: (at 43494) by debbugs.gnu.org; 18 Sep 2020 20:21:10 +0000 Received: from localhost ([127.0.0.1]:44530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kJMsY-0005pi-B4 for submit@debbugs.gnu.org; Fri, 18 Sep 2020 16:21:10 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kJMsV-0005pU-SA for 43494@debbugs.gnu.org; Fri, 18 Sep 2020 16:21:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56360) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kJMsQ-0002s3-Gb; Fri, 18 Sep 2020 16:21:02 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=45402 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kJMsO-0007V7-Fb; Fri, 18 Sep 2020 16:21:01 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Christopher Baines Subject: Re: [bug#43494] [PATCH 2/4] services: guix: Add guix-build-coordinator-service-type. References: <20200918184042.22660-1-mail@cbaines.net> <20200918184042.22660-2-mail@cbaines.net> Date: Fri, 18 Sep 2020 22:20:58 +0200 In-Reply-To: <20200918184042.22660-2-mail@cbaines.net> (Christopher Baines's message of "Fri, 18 Sep 2020 19:40:40 +0100") Message-ID: <87a6xmvnth.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (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: 43494 Cc: 43494@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: > * gnu/services/guix.scm (): New rec= ord > type. > (guix-build-coordinator-configuration, guix-build-coordinator-configurati= on?, > guix-build-coordinator-configuration-package, > guix-build-coordinator-configuration-user, > guix-build-coordinator-configuration-group, > guix-build-coordinator-configuration-datastore-uri-string, > guix-build-coordinator-configuration-agent-communication-uri-string, > guix-build-coordinator-configuration-client-communication-uri-string, > guix-build-coordinator-configuration-allocation-strategy, > guix-build-coordinator-configuration-hooks, > guix-build-coordinator-configuration-guile, > make-guix-build-coordinator-start-script, > guix-build-coordinator-shepherd-services, guix-build-coordinator-activati= on, > guix-build-coordinator-account): New procedures. > (guix-build-coordinator-service-type): New variable. > * gnu/tests/guix.scm (%test-guix-build-coordinator): New variable. > * doc/guix.texi (Guix Services): Document it. Yay! > +@subsubheading Guix Build Coordinator > +The @uref{https://git.cbaines.net/guix/build-coordinator/,Guix Build > +Coordinator} aids in building derivations. The Guix Daemon is still ^ Maybe something like: =E2=80=9Cin distributing derivation builds among mach= ines running an @dfn{agent}=E2=80=9D. Also, s/Guix Daemon/build daemon/ or similar. (In general I=E2=80=99m in favor of avoiding =E2=80=9Cbrands=E2=80=9D in do= cumentation and concept names.) Maybe add a =E2=80=9C@quotation Note=E2=80=9D stating that it=E2=80=99s wor= k in progress and subject to change. > +(define* (make-guix-build-coordinator-start-script database-uri-string > + allocation-strategy > + pid-file > + guix-build-coordinato= r-package > + #:key > + agent-communication-u= ri-string > + client-communication-= uri-string > + (hooks '()) > + (guile guile-3.0)) > + (program-file > + "start-guix-build-coordinator" > + (with-extensions (cons guix-build-coordinator-package > + ;; This is a poorly constructed Guile load pat= h, > + ;; since it contains things that aren't Guile > + ;; libraries, but it means that the Guile libr= aries > + ;; needed for the Guix Build Coordinator don't= need > + ;; to be individually specified here. > + (map second (package-inputs > + guix-build-coordinator-package))) Perhaps there should eventually be a =E2=80=98guix-build-coordinator=E2=80= =99 command in the package itself? Otherwise LGTM, thanks! One thing we discussed on IRC is the name and ways to set up one=E2=80=99s monitor so that guix-build-coordinator-configuration-client-communication-uri-string fits on one line. :-) An idea that came to mind was =E2=80=9C(Guix) dispatch(er)=E2=80=9D, which = is synonymous. You could use the (guix dispatch =E2=80=A6) name space. Food for thought! (No rush, of course!) Ludo=E2=80=99.