all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Getting build information in to the Guix Data Service (draft patch)
@ 2019-10-20  7:41 Christopher Baines
  2019-10-20  7:49 ` [PATCH] Support publishing build events Christopher Baines via Development of GNU Guix and the GNU System distribution.
                   ` (3 more replies)
  0 siblings, 4 replies; 36+ messages in thread
From: Christopher Baines @ 2019-10-20  7:41 UTC (permalink / raw)
  To: guix-devel

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

Hey,

I've now got a draft implementation of how Cuirass can be adapted to
push information about builds to the Guix Data Service, I'll send it
after this message.

I first attempted to get build information in to the Guix Data Service
back in April [1], but I only got as far as working out that trying to
request the status of every derivation, and then checking on derivations
that are still begin processed, but this approach didn't scale
particularly well and I only got as far as initially testing it.

1: https://lists.gnu.org/archive/html/guix-devel/2019-04/msg00094.html

In that email [1] I mentioned about trying to get the Guix Data Service
to somehow subscribe to Cuirass, so that when an event occurred (like a
build succeeding), the Guix Data Service would be informed.

I talked about WebSub as a pattern (and standard) for this, but recently
I realised that a good first step might be to try and get something
working without a hub in the middle, and just have Cuirass send events
directly to the Guix Data Service.

This is what I've currently tried to implement. The patch I'll send adds
two new tables to the Cuirass database, one to store events relating to
builds (like it being scheduled, or succeeding), and another to store
the ids of events which haven't yet been sent out. The code relating to
builds is then adjusted to populate these tables, and a new binary is
added to query for unsent events, and then send them out to some URL.

In the short term, the destination would be the Guix Data Service. In
the longer term, I think it would be better to send events to a WebSub
style hub, which then would distribute the events to one or more
subscribers.

Now that I've actually dug in to the Cuirass database to write this, I'm
more aware of the data model it uses, and the limitations this places on
what information it can provide. I'd assumed for a while that Cuirass
not showing complete information for each evaluation was a UI thing, but
as I understand it, the database only contains a record of what
derivations each evaluation has that no other evaluation in the
currently in the database has.

Maybe that's something to improve on within Cuirass, but at least by
getting the build information in to the Guix Data Service, it will be
feasible to look at the status of derivations for a revision of Guix (as
the Guix Data Service knows all the derivations associated with a
specific revision).

Do let me know what you think!

Thanks,

Chris

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

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2020-01-16  8:37 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-20  7:41 Getting build information in to the Guix Data Service (draft patch) Christopher Baines
2019-10-20  7:49 ` [PATCH] Support publishing build events Christopher Baines via Development of GNU Guix and the GNU System distribution.
2019-10-21  9:31   ` Mathieu Othacehe
2019-10-21 21:47     ` Christopher Baines
2019-10-23 14:39 ` Getting build information in to the Guix Data Service (draft patch) Ludovic Courtès
2019-10-23 23:32   ` Christopher Baines
2019-10-28  8:10     ` [PATCH 1/2] Support publishing build events Christopher Baines
2019-10-28  8:10       ` [PATCH 2/2] Support publishing evaluation events Christopher Baines
2019-11-16 21:41         ` Ludovic Courtès
2019-11-16 23:34           ` Christopher Baines
2019-11-16 21:39       ` [PATCH 1/2] Support publishing build events Ludovic Courtès
2019-11-16 23:13         ` Christopher Baines
2019-11-17 21:26           ` Ludovic Courtès
2019-11-18  8:53             ` Christopher Baines
2019-11-28 18:36         ` Christopher Baines
2019-11-28 18:36           ` [PATCH 2/2] Support publishing evaluation events Christopher Baines
2019-11-30 14:10             ` Clément Lassieur
2019-12-03  0:21               ` Christopher Baines
2019-11-30 14:08           ` [PATCH 1/2] Support publishing build events Clément Lassieur
2019-12-03  0:12             ` Christopher Baines
2019-12-03 11:25               ` Clément Lassieur
2019-12-03 19:44                 ` Christopher Baines
2019-12-04 13:59                   ` Clément Lassieur
2019-12-28 20:17                     ` Christopher Baines
2020-01-08 11:27                       ` Ludovic Courtès
2020-01-16  8:37                         ` Christopher Baines
2019-11-30 14:23           ` Clément Lassieur
2019-12-03  0:20             ` Christopher Baines
2019-11-28 18:48         ` Christopher Baines
2019-11-30 11:15           ` Clément Lassieur
2019-12-02 23:22             ` Christopher Baines
2019-10-28  8:33     ` Getting build information in to the Guix Data Service (draft patch) Christopher Baines
2019-12-28 19:05 ` [PATCH v3 1/2] Support publishing build events Christopher Baines
2019-12-28 19:05   ` [PATCH v3 2/2] Support publishing evaluation events Christopher Baines
2019-12-28 19:54 ` [PATCH v4 1/2] Support publishing build events Christopher Baines
2019-12-28 19:54   ` [PATCH v4 2/2] Support publishing evaluation events Christopher Baines

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.