aboutsummaryrefslogtreecommitdiff
path: root/guix-build-coordinator
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-06-07 16:54:31 +0100
committerChristopher Baines <mail@cbaines.net>2024-06-07 16:54:31 +0100
commit874ad02c862f2be068537588d3365749a1796400 (patch)
tree022a8f9b3f6e60e109de617c6ab6095bf4870cfa /guix-build-coordinator
parent3452b682c3a2d33a13818b6a137e7540a3f1bbe9 (diff)
downloadbuild-coordinator-874ad02c862f2be068537588d3365749a1796400.tar
build-coordinator-874ad02c862f2be068537588d3365749a1796400.tar.gz
Don't ignore missing_inputs setup failures when allocating
As if there is an issue substituting the input, this can cause the build to fail to start over and over again, potentially retrying downloading the inputs over and over again. This will mean that the setup failures will need clearing manually before the build can be tried again, but this is probably a good thing.
Diffstat (limited to 'guix-build-coordinator')
-rw-r--r--guix-build-coordinator/build-allocator.scm16
1 files changed, 6 insertions, 10 deletions
diff --git a/guix-build-coordinator/build-allocator.scm b/guix-build-coordinator/build-allocator.scm
index f73c457..58e5301 100644
--- a/guix-build-coordinator/build-allocator.scm
+++ b/guix-build-coordinator/build-allocator.scm
@@ -352,20 +352,13 @@
#:label-values `((system . ,system)))))
counts)))
- ;; Go through the setup failures and look specifically at the
- ;; missing_inputs ones. Eliminate any missing_inputs failures if all the
- ;; missing inputs appear to have been built successfully, and update the
+ ;; Go through the setup failures and update the
;; derived-build-priorities-hash to reflect the priorities of builds based
;; on the builds that would be "unblocked" if they were completed.
(for-each
(lambda (setup-failure-build-id)
(let ((setup-failures
- (filter
- (lambda (setup-failure)
- (string=? "missing_inputs"
- (assq-ref setup-failure 'failure-reason)))
- (hash-ref setup-failures-hash
- setup-failure-build-id)))
+ (hash-ref setup-failures-hash setup-failure-build-id))
(setup-failure-build-derived-priority
(hash-ref derived-build-priorities-hash
setup-failure-build-id)))
@@ -538,7 +531,10 @@
(assq-ref setup-failure 'failure-reason)))
(cond
((string=? failure-reason "missing_inputs")
- #f)
+ ;; This problem might go away, but just don't try the same agent
+ ;; again for now.
+ (string=? (assq-ref setup-failure 'agent-id)
+ agent-id))
((string=? failure-reason "could_not_delete_outputs")
;; This problem might go away, but just don't try the same agent
;; again for now.