diff options
Diffstat (limited to 'guix-qa-frontpage')
-rw-r--r-- | guix-qa-frontpage/issue.scm | 25 |
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) |