aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-04-29 19:16:46 +0100
committerChristopher Baines <mail@cbaines.net>2020-04-29 19:21:45 +0100
commit82ea7c7fe76c4e1c194eab1ad7bfbbd1b725de83 (patch)
treedc6a6ce0d9bdccd2ed596161da3ed472b3c6b34c
parentd13e855fb14bfb3dbc1abfaa4a6e3d9de6f0e61d (diff)
downloadbuild-coordinator-82ea7c7fe76c4e1c194eab1ad7bfbbd1b725de83.tar
build-coordinator-82ea7c7fe76c4e1c194eab1ad7bfbbd1b725de83.tar.gz
Move output-has-successful-build? out from filter-builds-for-agent
As it's not dependent on the agent.
-rw-r--r--guix-build-coordinator/build-allocator.scm28
1 files changed, 14 insertions, 14 deletions
diff --git a/guix-build-coordinator/build-allocator.scm b/guix-build-coordinator/build-allocator.scm
index 729ce3f..bba3143 100644
--- a/guix-build-coordinator/build-allocator.scm
+++ b/guix-build-coordinator/build-allocator.scm
@@ -36,26 +36,26 @@
args)
" "))))
+ (define output-has-successful-build?
+ (mlambda (output)
+ (log "considering missing input:" output)
+ (any (lambda (output-build)
+ (let ((build-successful?
+ (string=? (or (assq-ref output-build 'result)
+ "unknown")
+ "success")))
+ (when build-successful?
+ (log "found successful build:" (assq-ref output-build 'uuid)))
+
+ build-successful?))
+ (datastore-list-builds-for-output datastore output))))
+
(let ((agents (datastore-list-agents datastore))
(builds (datastore-list-unprocessed-builds datastore))
(setup-failures-hash
(datastore-fetch-setup-failures datastore)))
(define (filter-builds-for-agent agent-id)
- (define output-has-successful-build?
- (mlambda (output)
- (log "considering missing input:" output)
- (any (lambda (output-build)
- (let ((build-successful?
- (string=? (or (assq-ref output-build 'result)
- "unknown")
- "success")))
- (when build-successful?
- (log "found successful build:" (assq-ref output-build 'uuid)))
-
- build-successful?))
- (datastore-list-builds-for-output datastore output))))
-
(define (relevant-setup-failure? setup-failure)
(log "setup failure:" setup-failure)
(let ((failure-reason