diff options
Diffstat (limited to 'scripts/guix-build-coordinator.in')
-rw-r--r-- | scripts/guix-build-coordinator.in | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/scripts/guix-build-coordinator.in b/scripts/guix-build-coordinator.in index 5b7a580..17c8385 100644 --- a/scripts/guix-build-coordinator.in +++ b/scripts/guix-build-coordinator.in @@ -269,13 +269,19 @@ (cons arg (or (assq-ref result 'not-systems) '())) + (alist-delete 'not-systems result)))) + (option '("ignore-if-build-required-by-another") #t #f + (lambda (opt name arg result) + (alist-cons 'ignore-if-build-required-by-another + (string=? arg "true") (alist-delete 'not-systems result)))))) (define %build-cancel-option-defaults - `((tags . ()) - (not-tags . ()) - (systems . ()) - (not-systems . ()))) + `((tags . ()) + (not-tags . ()) + (systems . ()) + (not-systems . ()) + (ignore-if-build-required-by-another . #t))) (define %build-update-priority-options (cons* (option '("new-priority") #t #f @@ -636,13 +642,19 @@ tags: (current-error-port)) (lambda (report) (for-each (lambda (id) - (send-cancel-build-request (assq-ref opts 'coordinator) - id) + (send-cancel-build-request + (assq-ref opts 'coordinator) + id + #:ignore-if-build-required-by-another? + (assq-ref opts 'ignore-if-build-required-by-another)) (report)) matching-builds))))) ((build-id) - (send-cancel-build-request (assq-ref opts 'coordinator) - build-id))))) + (send-cancel-build-request + (assq-ref opts 'coordinator) + build-id + #:ignore-if-build-required-by-another? + (assq-ref opts 'ignore-if-build-required-by-another)))))) (("build" "update-priority" rest ...) (let ((opts (parse-options (append %client-options %base-options |