aboutsummaryrefslogtreecommitdiff
path: root/guix-qa-frontpage/issue.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-10-05 13:03:33 +0100
committerChristopher Baines <mail@cbaines.net>2022-10-05 13:03:33 +0100
commit4a6a0fe2ce2d5532e849e48832d313af9d407f98 (patch)
tree1616fb816e911ee84726ce60c54042d360c52eff /guix-qa-frontpage/issue.scm
parent3b07c95f4d869d0d8eaa154efdb92ee2cb7315e2 (diff)
downloadqa-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.scm59
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)