aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage
diff options
context:
space:
mode:
Diffstat (limited to 'guix-qa-frontpage')
-rw-r--r--guix-qa-frontpage/issue.scm25
1 files changed, 18 insertions, 7 deletions
diff --git a/guix-qa-frontpage/issue.scm b/guix-qa-frontpage/issue.scm
index 5cc19f0..4ade0f8 100644
--- a/guix-qa-frontpage/issue.scm
+++ b/guix-qa-frontpage/issue.scm
@@ -90,13 +90,24 @@
categorised-target-builds)
status)))
- (if (and (<= (count 'target 'failing)
- (count 'base 'failing))
- (= (count 'target 'unknown) 0))
- good-status
- (if (= (count 'target 'unknown) 0)
- bad-status
- unknown-status)))))
+ (let ((base-failure-count (count 'base 'failing))
+ (target-failure-count (count 'target 'failing)))
+ (if (and (<= target-failure-count
+ base-failure-count)
+ (= (count 'target 'unknown) 0))
+ good-status
+ (if (= (count 'target 'unknown) 0)
+ (let ((unblocked-builds
+ (- (count 'base 'blocked)
+ (count 'target 'blocked)))
+ (new-failures
+ (- target-failure-count
+ base-failure-count)))
+ (if (>= unblocked-builds
+ new-failures)
+ needs-looking-at-status
+ bad-status))
+ unknown-status))))))
(filter
(lambda (builds-by-system)
(member (car builds-by-system)