aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-qa-frontpage/manage-builds.scm30
1 files changed, 24 insertions, 6 deletions
diff --git a/guix-qa-frontpage/manage-builds.scm b/guix-qa-frontpage/manage-builds.scm
index e65228f..b607f72 100644
--- a/guix-qa-frontpage/manage-builds.scm
+++ b/guix-qa-frontpage/manage-builds.scm
@@ -33,8 +33,8 @@
(define (priority-for-change change)
(if (member (assoc-ref change "system")
'("x86_64-linux" "aarch64-linux"))
- 600
- 400))
+ 550
+ 350))
(define (submit-builds)
(simple-format #t "submitting patch builds\n")
@@ -98,8 +98,15 @@
target-commit
#:build-limit
(* (length %systems-to-submit-builds-for)
- 200)
- #:priority priority-for-change))))
+ 1000)
+ #:priority priority-for-change
+ #:build-count-priority-penalty
+ (lambda (build-count)
+ (cond
+ ((< build-count 10) 0)
+ ((< build-count 100) 50)
+ ((< build-count 300) 100)
+ (else 150)))))))
(simple-format #t "no derivation changes url for issue ~A\n"
issue-number)))))
(take series series-count))))
@@ -308,7 +315,8 @@
derivation-changes
target-commit
#:key build-limit
- priority)
+ priority
+ (build-count-priority-penalty (const 0)))
(define (submit-builds build-details
build-ids-to-keep-set)
(for-each
@@ -358,7 +366,17 @@
(if (or (not build-limit)
(< builds-to-submit-count
build-limit))
- (submit-builds builds-to-submit-details
+ (submit-builds (let ((priority-penalty
+ (build-count-priority-penalty
+ builds-to-submit-count)))
+ (if (= 0 priority-penalty)
+ builds-to-submit-details
+ (map
+ (match-lambda
+ ((derivation priority)
+ (list derivation
+ (- priority priority-penalty))))
+ builds-to-submit-details)))
build-ids-to-keep-set)
(simple-format #t "skipping ~A ~A as too many target derivations (~A)\n"
category-name