From d6765a81a478e895e24a3622447415ea9bc6598b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 2 Apr 2024 12:34:37 +0100 Subject: Enable checking for base revision changes for all branches --- guix-qa-frontpage/manage-patch-branches.scm | 45 +++++++++++++++-------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/guix-qa-frontpage/manage-patch-branches.scm b/guix-qa-frontpage/manage-patch-branches.scm index 1ffd6af..816ba62 100644 --- a/guix-qa-frontpage/manage-patch-branches.scm +++ b/guix-qa-frontpage/manage-patch-branches.scm @@ -379,20 +379,20 @@ latest-patchwork-series-by-issue #:args `(#:count ,(+ series-count series-count-buffer)) #:ttl 120)) - (latest-master-revision - (get-latest-processed-branch-revision "master"))) + (get-latest-processed-branch-revision* + (memoize get-latest-processed-branch-revision))) ;; Several series can use the same base revision, so memoize looking up ;; the changes compared to master - (define get-changes-compared-to-master + (define get-changes-compared-to-branch (memoize - (lambda (base-commit) + (lambda (branch base-commit) (vector-length (assoc-ref (compare-package-derivations (compare-package-derivations-url `((base . ,base-commit) - (target . ,latest-master-revision)) + (target . ,(get-latest-processed-branch-revision* branch))) ;; TODO: Maybe do something smarter here? #:systems '("i686-linux"))) "derivation_changes"))))) @@ -443,23 +443,24 @@ exn) #f))) (lambda () - (if (string=? "master" - (patchwork-series->branch - (assq-ref all-patchwork-series issue-number))) - (let ((derivation-change-count - (get-changes-compared-to-master base-commit))) - (if (> derivation-change-count 10000) - (begin - (simple-format - (current-error-port) - "Removing ~A, ~A derivation changes between base (~A) and latest master revision (~A)\n" - issue-number - derivation-change-count - base-commit - latest-master-revision) - #t) - #f)) - #f)) + (let ((branch (patchwork-series->branch + (assq-ref all-patchwork-series issue-number)))) + (let ((derivation-change-count + (get-changes-compared-to-branch branch + base-commit))) + (if (> derivation-change-count 10000) + (begin + (simple-format + (current-error-port) + "Removing ~A, ~A derivation changes between base (~A) and latest ~A revision (~A)\n" + issue-number + derivation-change-count + base-commit + branch + (get-latest-processed-branch-revision* branch)) + #t) + #f)) + #f)) #:unwind? #t))) (with-bare-git-repository -- cgit v1.2.3