aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-02-22 10:50:00 +0000
committerChristopher Baines <mail@cbaines.net>2024-02-22 10:50:00 +0000
commitf6cf019f5d3e5fcee1f74e73d44a1ff1d25478ba (patch)
tree7abd6a21d11d4c0fcfbeeee5cfcd3330332bda0b
parentee1ceaee8eab9c1ac3a98039fa159fdd960e8443 (diff)
downloadqa-frontpage-f6cf019f5d3e5fcee1f74e73d44a1ff1d25478ba.tar
qa-frontpage-f6cf019f5d3e5fcee1f74e73d44a1ff1d25478ba.tar.gz
Account for builds to keep when canceling branch builds
-rw-r--r--guix-qa-frontpage/manage-builds.scm20
1 files 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"