From f6cf019f5d3e5fcee1f74e73d44a1ff1d25478ba Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 22 Feb 2024 10:50:00 +0000 Subject: Account for builds to keep when canceling branch builds --- guix-qa-frontpage/manage-builds.scm | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/guix-qa-frontpage/manage-builds.scm b/guix-qa-frontpage/manage-builds.scm index 495fb13..8f83ffe 100644 --- a/guix-qa-frontpage/manage-builds.scm +++ b/guix-qa-frontpage/manage-builds.scm @@ -571,22 +571,28 @@ (with-fibers-port-timeouts (lambda () (let loop ((uuids-batch (fetch-build-uuids))) - (for-each - (lambda (uuid) - (unless (set-contains? build-ids-to-keep-set uuid) + (let ((builds-to-cancel + (remove! + (lambda (uuid) + (set-contains? build-ids-to-keep-set uuid)) + uuids-batch))) + + (for-each + (lambda (uuid) (retry-on-error (lambda () + ;; TODO Ignore error" . "build-already-processed (send-cancel-build-request build-coordinator uuid #:skip-updating-derived-priorities? #t)) #:times 6 #:delay 15) (simple-format (current-error-port) - "canceled ~A\n" uuid))) - uuids-batch) + "canceled ~A\n" uuid)) + builds-to-cancel) - (unless (null? uuids-batch) - (loop (fetch-build-uuids))))) + (unless (null? builds-to-cancel) + (loop (fetch-build-uuids)))))) #:timeout 60) (simple-format (current-error-port) "finished canceling builds for ~A ~A and not revision ~A\n" -- cgit v1.2.3