aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator/hooks.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-12-21 09:53:42 +0000
committerChristopher Baines <mail@cbaines.net>2020-12-21 09:53:42 +0000
commit24d17bf6cfc46bf36c499c883bdf4d726446548e (patch)
treece7f6dea35a29f9ff367788da09e246c1f792969 /guix-build-coordinator/hooks.scm
parent1ed40f6037a008480eb635b023f7a5fcd00c6914 (diff)
downloadbuild-coordinator-24d17bf6cfc46bf36c499c883bdf4d726446548e.tar
build-coordinator-24d17bf6cfc46bf36c499c883bdf4d726446548e.tar.gz
Handle canceled builds in the default-build-missing-inputs-hook
Diffstat (limited to 'guix-build-coordinator/hooks.scm')
-rw-r--r--guix-build-coordinator/hooks.scm19
1 files changed, 15 insertions, 4 deletions
diff --git a/guix-build-coordinator/hooks.scm b/guix-build-coordinator/hooks.scm
index f5abe6c..7673ec3 100644
--- a/guix-build-coordinator/hooks.scm
+++ b/guix-build-coordinator/hooks.scm
@@ -360,10 +360,21 @@
(assq-ref build 'derivation-name)
missing-input)))
(if input-derivation
- (let ((builds-for-output
- (datastore-list-builds-for-output datastore
- missing-input)))
- (if (null? builds-for-output)
+ (let* ((builds-for-output
+ (datastore-list-builds-for-output datastore
+ missing-input))
+ (processed-builds
+ (filter (lambda (build-details)
+ (assq-ref build-details 'processed))
+ builds-for-output))
+ (pending-builds
+ (filter (lambda (build-details)
+ (and
+ (not (assq-ref build-details 'processed))
+ (not (assq-ref build-details 'canceled))))
+ builds-for-output)))
+ (if (or (null? processed-builds)
+ (null? pending-builds))
(begin
(simple-format #t
"submitting build for ~A\n"