aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage/issue.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-12-05 18:27:22 +0000
committerChristopher Baines <mail@cbaines.net>2022-12-05 18:27:22 +0000
commit1d04520636255ebefaedf7c6776a4f042030d6f4 (patch)
treeddb3072cb4dd07316038add9df39e42600357e36 /guix-qa-frontpage/issue.scm
parentecc8190a44cb3c6e8c59680c91fd575390bdb1e7 (diff)
downloadqa-frontpage-1d04520636255ebefaedf7c6776a4f042030d6f4.tar
qa-frontpage-1d04520636255ebefaedf7c6776a4f042030d6f4.tar.gz
Try to handle the case with more failures better
If more builds are failing in the target revision, but because those builds were previously blocked, this shouldn't be treated the same as if these packages are broken.
Diffstat (limited to 'guix-qa-frontpage/issue.scm')
-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)