diff options
author | Christopher Baines <mail@cbaines.net> | 2022-11-17 09:38:12 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-11-17 09:38:12 +0000 |
commit | c851fa2e0e1826568a9a0d2ba7e29584640f3979 (patch) | |
tree | 44ecb9d96f12cc780f0498715a6049e6856582e4 /guix-qa-frontpage/issue.scm | |
parent | 389c2cd7b68ce45ad95a88618285a3ce4e0970dc (diff) | |
download | qa-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.scm | 36 |
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)) |