From c7494248038d8436a8905d782226de6be08d043b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 7 Jul 2022 23:20:36 +0100 Subject: Fix bug when handling missing output details --- guix-build-coordinator/hooks.scm | 41 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'guix-build-coordinator/hooks.scm') diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm index 277094f..5163a5d 100644 --- a/guix-build-coordinator/hooks.scm +++ b/guix-build-coordinator/hooks.scm @@ -472,26 +472,27 @@ (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)))))) + ,@(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 -- cgit v1.2.3