diff options
author | Christopher Baines <mail@cbaines.net> | 2022-12-05 18:27:22 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-12-05 18:27:22 +0000 |
commit | 1d04520636255ebefaedf7c6776a4f042030d6f4 (patch) | |
tree | ddb3072cb4dd07316038add9df39e42600357e36 /guix-qa-frontpage/issue.scm | |
parent | ecc8190a44cb3c6e8c59680c91fd575390bdb1e7 (diff) | |
download | qa-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.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) |