diff options
author | Christopher Baines <mail@cbaines.net> | 2022-10-05 13:03:33 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-10-05 13:03:33 +0100 |
commit | 4a6a0fe2ce2d5532e849e48832d313af9d407f98 (patch) | |
tree | 1616fb816e911ee84726ce60c54042d360c52eff /guix-qa-frontpage/issue.scm | |
parent | 3b07c95f4d869d0d8eaa154efdb92ee2cb7315e2 (diff) | |
download | qa-frontpage-4a6a0fe2ce2d5532e849e48832d313af9d407f98.tar qa-frontpage-4a6a0fe2ce2d5532e849e48832d313af9d407f98.tar.gz |
Consider if builds haven't been submitted when computing overall status
Diffstat (limited to 'guix-qa-frontpage/issue.scm')
-rw-r--r-- | guix-qa-frontpage/issue.scm | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/guix-qa-frontpage/issue.scm b/guix-qa-frontpage/issue.scm index f5db55f..b25a279 100644 --- a/guix-qa-frontpage/issue.scm +++ b/guix-qa-frontpage/issue.scm @@ -19,6 +19,7 @@ (define-module (guix-qa-frontpage issue) #:use-module (srfi srfi-1) #:use-module (ice-9 match) + #:use-module (guix-qa-frontpage manage-builds) #:use-module (guix-qa-frontpage derivation-changes) #:export (%overall-statuses status-index @@ -60,35 +61,37 @@ (categorised-target-builds-by-system (categorise-builds all-systems target-builds))) - (if (null? target-builds) - good-status - (or - (every - (match-lambda - ((system . categorised-target-builds) - (let ((categorised-base-builds - (assoc-ref categorised-base-builds-by-system - system))) - (define (count side status) - (length - (assoc-ref - (if (eq? side 'base) - categorised-base-builds - categorised-target-builds) - status))) + (if (builds-missing-for-derivation-changes? derivation-changes) + unknown-status + (if (null? target-builds) + good-status + (or + (every + (match-lambda + ((system . categorised-target-builds) + (let ((categorised-base-builds + (assoc-ref categorised-base-builds-by-system + system))) + (define (count side status) + (length + (assoc-ref + (if (eq? side 'base) + categorised-base-builds + categorised-target-builds) + status))) - (if (and (>= (count 'target 'succeeding) - (count 'base 'succeeding)) - (> (count 'target 'succeeding) - 0) - (<= (count 'target 'failing) - (count 'base 'failing)) - (<= (count 'target 'unknown) - (count 'base 'unknown))) - good-status - #f)))) - categorised-target-builds-by-system) - unknown-status)))) + (if (and (>= (count 'target 'succeeding) + (count 'base 'succeeding)) + (> (count 'target 'succeeding) + 0) + (<= (count 'target 'failing) + (count 'base 'failing)) + (<= (count 'target 'unknown) + (count 'base 'unknown))) + good-status + #f)))) + categorised-target-builds-by-system) + unknown-status))))) (define tags-status (if (member "moreinfo" mumi-tags) |