aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-10-16 17:19:01 +0100
committerChristopher Baines <mail@cbaines.net>2023-10-16 17:19:01 +0100
commit34463558e589aa260b15e53422652a37848aec95 (patch)
tree43bde220d0d70e48126083501b1bad20b030fe62
parent5a4efa90848012c53abd4c56f57b08c2416793de (diff)
downloadbuild-coordinator-34463558e589aa260b15e53422652a37848aec95.tar
build-coordinator-34463558e589aa260b15e53422652a37848aec95.tar.gz
Include the derivation_outputs in the data service event
If possible.
-rw-r--r--guix-build-coordinator/guix-data-service.scm21
1 files changed, 21 insertions, 0 deletions
diff --git a/guix-build-coordinator/guix-data-service.scm b/guix-build-coordinator/guix-data-service.scm
index bb3587c..e2ecbe7 100644
--- a/guix-build-coordinator/guix-data-service.scm
+++ b/guix-build-coordinator/guix-data-service.scm
@@ -73,6 +73,27 @@
(event . scheduled)
(build_id . ,build-id)
(derivation . ,derivation-name)
+ ,@(or
+ (and=>
+ (datastore-find-derivation-output-details
+ datastore
+ (assq-ref build-details 'derivation-name))
+ (lambda (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