aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage/issue.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-11-17 09:38:12 +0000
committerChristopher Baines <mail@cbaines.net>2022-11-17 09:38:12 +0000
commitc851fa2e0e1826568a9a0d2ba7e29584640f3979 (patch)
tree44ecb9d96f12cc780f0498715a6049e6856582e4 /guix-qa-frontpage/issue.scm
parent389c2cd7b68ce45ad95a88618285a3ce4e0970dc (diff)
downloadqa-frontpage-c851fa2e0e1826568a9a0d2ba7e29584640f3979.tar
qa-frontpage-c851fa2e0e1826568a9a0d2ba7e29584640f3979.tar.gz
Start highlighting build issues in the overall patch status
Diffstat (limited to 'guix-qa-frontpage/issue.scm')
-rw-r--r--guix-qa-frontpage/issue.scm36
1 files changed, 15 insertions, 21 deletions
diff --git a/guix-qa-frontpage/issue.scm b/guix-qa-frontpage/issue.scm
index a17093c..52de998 100644
--- a/guix-qa-frontpage/issue.scm
+++ b/guix-qa-frontpage/issue.scm
@@ -33,15 +33,19 @@
(define %overall-statuses
(list good-status
+ unknown-status
needs-looking-at-status
- bad-status
- unknown-status))
+ bad-status))
(define (status-index status)
(list-index (lambda (s)
(eq? s status))
%overall-statuses))
+(define (worst-status statuses)
+ (list-ref %overall-statuses
+ (apply max (map status-index statuses))))
+
(define (issue-patches-overall-status derivation-changes mumi-tags)
(define builds-status
(let* ((base-builds
@@ -65,8 +69,8 @@
unknown-status
(if (null? target-builds)
good-status
- (or
- (every
+ (worst-status
+ (map
(match-lambda
((system . categorised-target-builds)
(let ((categorised-base-builds
@@ -83,15 +87,12 @@
(if (and (>= (count 'target 'succeeding)
(count 'base 'succeeding))
(<= (count 'target 'failing)
- (count 'base 'failing))
- (<= (count 'target 'blocked)
- (count 'base 'blocked))
- (<= (count 'target 'unknown)
- (count 'base 'unknown)))
+ (count 'base 'failing)))
good-status
- #f))))
- categorised-target-builds-by-system)
- unknown-status)))))
+ (if (= (count 'target 'unknown) 0)
+ bad-status
+ unknown-status)))))
+ categorised-target-builds-by-system))))))
(define tags-status
(if (member "moreinfo" mumi-tags)
@@ -99,13 +100,6 @@
good-status))
(let ((overall-status
- (list-ref
- %overall-statuses
- (apply max
- (map (lambda (status)
- (list-index (lambda (x)
- (eq? x status))
- %overall-statuses))
- (list builds-status
- tags-status))))))
+ (worst-status (list builds-status
+ tags-status))))
overall-status))