unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 43494@debbugs.gnu.org
Subject: [bug#43494] [PATCH 2/4] services: guix: Add guix-build-coordinator-service-type.
Date: Sat, 19 Sep 2020 10:13:58 +0100	[thread overview]
Message-ID: <87a6xm9lih.fsf@cbaines.net> (raw)
In-Reply-To: <87a6xmvnth.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 4260 bytes --]


Ludovic Courtès <ludo@gnu.org> writes:

> Christopher Baines <mail@cbaines.net> skribis:
>
>> * gnu/services/guix.scm (<guix-build-coordinator-configuration>): New record
>> type.
>> (guix-build-coordinator-configuration, guix-build-coordinator-configuration?,
>> 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-activation,
>> 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: “in distributing derivation builds among machines
> running an @dfn{agent}”.
>
> Also, s/Guix Daemon/build daemon/ or similar.
>
> (In general I’m in favor of avoiding “brands” in documentation and
> concept names.)
>
> Maybe add a “@quotation Note” stating that it’s work in progress and
> subject to change.

I've made these changes now.

>> +(define* (make-guix-build-coordinator-start-script database-uri-string
>> +                                                   allocation-strategy
>> +                                                   pid-file
>> +                                                   guix-build-coordinator-package
>> +                                                   #:key
>> +                                                   agent-communication-uri-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 path,
>> +                          ;; since it contains things that aren't Guile
>> +                          ;; libraries, but it means that the Guile libraries
>> +                          ;; 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 ‘guix-build-coordinator’ command in
> the package itself?

There actually is, one thing I've had in mind for a while now though is
to use a scheme script constructed by the Guix service to run the
coordinator.

For guix.cbaines.net, I'm using the script, but with the hooks passed in
on the command line, the command is rather long, and it means that
backtraces don't work well with the hooks.

I'm unsure how well this has worked out, I didn't anticipate the issues
with the Guile load path, and because of the formatting stripping, both
the code and backtraces will be unreadable anyway... but it is useful in
allowing G-expressions to be used as part of the configuration.

> One thing we discussed on IRC is the name and ways to set up one’s
> monitor so that
> guix-build-coordinator-configuration-client-communication-uri-string
> fits on one line.  :-)
>
> An idea that came to mind was “(Guix) dispatch(er)”, which is
> synonymous.  You could use the (guix dispatch …) name space.
> Food for thought!  (No rush, of course!)

Indeed, I think that's a strong candidate :)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

  reply	other threads:[~2020-09-19  9:15 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-18 18:34 [bug#43494] [PATCH 0/4] Add package and services for the Guix Build Coordinator Christopher Baines
2020-09-18 18:40 ` [bug#43494] [PATCH 1/4] gnu: Add guix-build-coordinator Christopher Baines
2020-09-18 18:40   ` [bug#43494] [PATCH 2/4] services: guix: Add guix-build-coordinator-service-type Christopher Baines
2020-09-18 20:20     ` Ludovic Courtès
2020-09-19  9:13       ` Christopher Baines [this message]
2020-09-25  9:42         ` Ludovic Courtès
2020-09-26  8:43           ` Christopher Baines
2020-09-18 18:40   ` [bug#43494] [PATCH 3/4] services: guix: Add guix-build-coordinator-agent-service-type Christopher Baines
2020-09-18 20:25     ` Ludovic Courtès
2020-09-19  9:49       ` Christopher Baines
2020-09-18 18:40   ` [bug#43494] [PATCH 4/4] services: guix: Add guix-build-coordinator-queue-builds-service-type Christopher Baines
2020-09-18 20:31     ` Ludovic Courtès
2020-09-19 10:05       ` Christopher Baines
2020-09-18 20:08   ` [bug#43494] [PATCH 1/4] gnu: Add guix-build-coordinator Ludovic Courtès
2020-09-18 23:34     ` Jonathan Brielmaier
2020-09-19  9:00       ` Christopher Baines
2020-09-19  9:05     ` Christopher Baines
2020-09-19 10:10 ` [bug#43494] [PATCH v2 " Christopher Baines
2020-09-19 10:10   ` [bug#43494] [PATCH v2 2/4] services: guix: Add guix-build-coordinator-service-type Christopher Baines
2020-09-19 10:10   ` [bug#43494] [PATCH v2 3/4] services: guix: Add guix-build-coordinator-agent-service-type Christopher Baines
2020-09-19 10:10   ` [bug#43494] [PATCH v2 4/4] services: guix: Add guix-build-coordinator-queue-builds-service-type Christopher Baines
2020-10-05  8:00     ` Ludovic Courtès
2020-10-05 17:16       ` bug#43494: " Christopher Baines

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a6xm9lih.fsf@cbaines.net \
    --to=mail@cbaines.net \
    --cc=43494@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).