aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2021-03-27 17:48:42 +0000
committerChristopher Baines <mail@cbaines.net>2021-03-27 17:48:42 +0000
commit7ed0a927d889ba800800f96370aba7824e20fa10 (patch)
tree7b79e405de7fb761f3dd7f10cc812c469a9d8c2a
parentebd5c42040538d09da11e26de8ce31d70010fcc3 (diff)
downloadbuild-coordinator-7ed0a927d889ba800800f96370aba7824e20fa10.tar
build-coordinator-7ed0a927d889ba800800f96370aba7824e20fa10.tar.gz
Include cancelled builds when looking for blocking builds
As a build being cancelled can explain why others can't progress.
-rw-r--r--guix-build-coordinator/datastore/sqlite.scm29
1 files changed, 19 insertions, 10 deletions
diff --git a/guix-build-coordinator/datastore/sqlite.scm b/guix-build-coordinator/datastore/sqlite.scm
index fb88fb5..e374bbc 100644
--- a/guix-build-coordinator/datastore/sqlite.scm
+++ b/guix-build-coordinator/datastore/sqlite.scm
@@ -757,22 +757,30 @@ SELECT
INNER JOIN builds AS blocked_builds
ON related_derivations.name = blocked_builds.derivation_name
AND blocked_builds.processed = 0
+ AND blocked_builds.canceled = 0
)
FROM builds"
(if system
"
INNER JOIN derivations ON derivations.name = builds.derivation_name"
"")
- "
-INNER JOIN build_results
+ "
+LEFT JOIN build_results
ON builds.uuid = build_results.build_id
-WHERE builds.processed = 1
- AND build_results.result = 'failure'"
- (if system
- "
- AND derivations.system = :system"
- "")
+WHERE
+ (
+ (
+ builds.processed = 1
+ AND build_results.result = 'failure'
+ ) OR (
+ builds.canceled = 1
+ )
+ )"
+ (if system
"
+ AND derivations.system = :system"
+ "")
+ "
AND NOT EXISTS (
SELECT 1
FROM derivation_outputs
@@ -783,8 +791,9 @@ WHERE builds.processed = 1
INNER JOIN build_results AS other_build_results
ON other_builds.uuid = other_build_results.build_id
WHERE derivation_outputs.derivation_name = builds.derivation_name
- AND other_build_results.result = 'success'
-) ORDER BY 3 DESC, 2, 1")
+ AND other_build_results.result = 'success'
+ )
+ORDER BY 3 DESC, 2, 1")
#:cache? #t)))
(when system