diff options
-rw-r--r-- | guix-qa-frontpage/manage-builds.scm | 30 |
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 |