aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/hooks.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-07-07 21:08:56 +0100
committerChristopher Baines <mail@cbaines.net>2022-07-07 21:11:55 +0100
commit08f1ecda5d7e5ef81c92380bcca3960267fa9199 (patch)
treed06837c7276131b97d3509a351a1ec79f6c844ae /guix-build-coordinator/hooks.scm
parentf5816f1011a102d91c28231bb9d437d44b6160c7 (diff)
downloadbuild-coordinator-08f1ecda5d7e5ef81c92380bcca3960267fa9199.tar
build-coordinator-08f1ecda5d7e5ef81c92380bcca3960267fa9199.tar.gz
Send more information on derivation outputs to the Guix Data Service
This will enable it to join builds to derivations, even if it doesn't know about the derivation being built, since it'll be able to match the outputs with other derivations it knows about.
Diffstat (limited to 'guix-build-coordinator/hooks.scm')
-rw-r--r--guix-build-coordinator/hooks.scm20
1 files changed, 20 insertions, 0 deletions
diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm
index 2053e90..277094f 100644
--- a/guix-build-coordinator/hooks.scm
+++ b/guix-build-coordinator/hooks.scm
@@ -472,6 +472,26 @@
(event . scheduled)
(build_id . ,build-id)
(derivation . ,(assq-ref build-details 'derivation-name))
+ ,@(let ((output-details
+ (datastore-find-derivation-output-details
+ datastore
+ (assq-ref build-details 'derivation-name))))
+ (if (null? output-details)
+ '()
+ `((derivation_outputs
+ . ,(list->vector
+ (map
+ (lambda (output-details)
+ `((output . ,(assq-ref output-details 'output))
+ (name . ,(assq-ref output-details 'name))
+ ,@(if (assq-ref output-details 'hash)
+ `((hash_algorithm . ,(assq-ref output-details
+ 'hash-algorithm))
+ (hash . ,(assq-ref output-details
+ 'hash)))
+ '())
+ (recursive . ,(assq-ref output-details 'recursive?))))
+ output-details))))))
,@(let ((created-at (assq-ref build-details 'created-at)))
(if created-at
`((timestamp . ,(string->number