diff options
author | Christopher Baines <mail@cbaines.net> | 2022-07-07 21:08:56 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-07-07 21:11:55 +0100 |
commit | 08f1ecda5d7e5ef81c92380bcca3960267fa9199 (patch) | |
tree | d06837c7276131b97d3509a351a1ec79f6c844ae /guix-build-coordinator/hooks.scm | |
parent | f5816f1011a102d91c28231bb9d437d44b6160c7 (diff) | |
download | build-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.scm | 20 |
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 |