aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/hooks.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-build-coordinator/hooks.scm')
-rw-r--r--guix-build-coordinator/hooks.scm61
1 files changed, 28 insertions, 33 deletions
diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm
index e4b2bff..0006a95 100644
--- a/guix-build-coordinator/hooks.scm
+++ b/guix-build-coordinator/hooks.scm
@@ -337,39 +337,34 @@
(build-coordinator-datastore build-coordinator))
(let ((build (datastore-find-build datastore build-id)))
- (let ((derivation-inputs
- (datastore-find-derivation-inputs datastore
- (assq-ref build 'derivation-name))))
- (simple-format #t "missing-inputs: ~A\n~A\n"
- build-id
- (string-join (map (lambda (input)
- (string-append " - " input))
- missing-inputs)
- "\n"))
- (for-each (lambda (missing-input)
- (let ((input-derivation
- (any (lambda (derivation-input)
- (if (string=? (assq-ref derivation-input 'output)
- missing-input)
- (assq-ref derivation-input 'derivation)
- #f))
- derivation-inputs)))
- (unless input-derivation
- (error "couldn't find a derivation for " missing-input))
-
- (let ((builds-for-output
- (datastore-list-builds-for-output datastore
- missing-input)))
- (if (null? builds-for-output)
- (begin
- (simple-format #t
- "submitting build for ~A\n"
- input-derivation)
- (submit-build build-coordinator input-derivation))
- (simple-format #t "~A builds exist for ~A, skipping\n"
- (length builds-for-output)
- missing-input)))))
- missing-inputs))))
+ (simple-format #t "missing-inputs: ~A\n~A\n"
+ build-id
+ (string-join (map (lambda (input)
+ (string-append " - " input))
+ missing-inputs)
+ "\n"))
+ (for-each (lambda (missing-input)
+ (let ((input-derivation
+ (datastore-find-derivation-for-output
+ datastore
+ (assq-ref build 'derivation-name)
+ missing-input)))
+ (unless input-derivation
+ (error "couldn't find a derivation for " missing-input))
+
+ (let ((builds-for-output
+ (datastore-list-builds-for-output datastore
+ missing-input)))
+ (if (null? builds-for-output)
+ (begin
+ (simple-format #t
+ "submitting build for ~A\n"
+ input-derivation)
+ (submit-build build-coordinator input-derivation))
+ (simple-format #t "~A builds exist for ~A, skipping\n"
+ (length builds-for-output)
+ missing-input)))))
+ missing-inputs)))
(define %default-hooks
`((build-submitted . ,default-build-submitted-hook)