aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-09-15 12:01:07 +0100
committerChristopher Baines <mail@cbaines.net>2023-09-15 12:01:07 +0100
commitd213738667e90f4dd5c0fe11cb76491e99c03270 (patch)
tree19d35716f9c43e708a799809f5540583bc66b838
parente4d0243412f3c4d3581012f3310496538765166b (diff)
downloadqa-frontpage-d213738667e90f4dd5c0fe11cb76491e99c03270.tar
qa-frontpage-d213738667e90f4dd5c0fe11cb76491e99c03270.tar.gz
Add port timeouts around canceling builds
-rw-r--r--guix-qa-frontpage/manage-builds.scm101
1 files changed, 53 insertions, 48 deletions
diff --git a/guix-qa-frontpage/manage-builds.scm b/guix-qa-frontpage/manage-builds.scm
index aafd9cc..5b185e8 100644
--- a/guix-qa-frontpage/manage-builds.scm
+++ b/guix-qa-frontpage/manage-builds.scm
@@ -459,27 +459,29 @@
"canceling builds for ~A ~A\n"
category-name
category-value)
- (for-each-build
- build-coordinator
- (lambda (build-details)
- (retry-on-error
- (lambda ()
- (send-cancel-build-request build-coordinator
- (assoc-ref build-details "uuid")
- #:skip-updating-derived-priorities? #t))
- #:times 6
- #:delay 15)
- (simple-format (current-error-port)
- "canceled ~A\n"
- (assoc-ref build-details "uuid")))
- #:tags
- `(((key . category)
- (value . package))
- ((key . ,category-name)
- (value . ,category-value)))
- #:canceled #f
- #:processed #f
- #:relationship 'no-dependent-builds))
+ (with-fibers-port-timeouts
+ (lambda ()
+ (for-each-build
+ build-coordinator
+ (lambda (build-details)
+ (retry-on-error
+ (lambda ()
+ (send-cancel-build-request build-coordinator
+ (assoc-ref build-details "uuid")
+ #:skip-updating-derived-priorities? #t))
+ #:times 6
+ #:delay 15)
+ (simple-format (current-error-port)
+ "canceled ~A\n"
+ (assoc-ref build-details "uuid")))
+ #:tags
+ `(((key . category)
+ (value . package))
+ ((key . ,category-name)
+ (value . ,category-value)))
+ #:canceled #f
+ #:processed #f
+ #:relationship 'no-dependent-builds))))
(define (cancel-builds-not-for-revision build-coordinator
category-name
@@ -491,33 +493,36 @@
category-name
category-value
revision)
- (for-each-build
- build-coordinator
- (lambda (build-details)
- (unless (set-contains?
- build-ids-to-keep-set
- (assoc-ref build-details "uuid"))
- (retry-on-error
- (lambda ()
- (send-cancel-build-request build-coordinator
- (assoc-ref build-details "uuid")
- #:skip-updating-derived-priorities? #t))
- #:times 6
- #:delay 15)
- (simple-format (current-error-port)
- "canceled ~A\n"
- (assoc-ref build-details "uuid"))))
- #:tags
- `(((key . category)
- (value . package))
- ((key . ,category-name)
- (value . ,category-value)))
- #:not-tags
- `(((key . revision)
- (value . ,revision)))
- #:canceled #f
- #:processed #f
- #:relationship 'no-dependent-builds))
+ (with-fibers-port-timeouts
+ (lambda ()
+ (for-each-build
+ build-coordinator
+ (lambda (build-details)
+ (unless (set-contains?
+ build-ids-to-keep-set
+ (assoc-ref build-details "uuid"))
+ (retry-on-error
+ (lambda ()
+ (send-cancel-build-request build-coordinator
+ (assoc-ref build-details "uuid")
+ #:skip-updating-derived-priorities? #t))
+ #:times 6
+ #:delay 15)
+ (simple-format (current-error-port)
+ "canceled ~A\n"
+ (assoc-ref build-details "uuid"))))
+ #:tags
+ `(((key . category)
+ (value . package))
+ ((key . ,category-name)
+ (value . ,category-value)))
+ #:not-tags
+ `(((key . revision)
+ (value . ,revision)))
+ #:canceled #f
+ #:processed #f
+ #:relationship 'no-dependent-builds))
+ #:timeout 60))
(define (builds-missing-for-derivation-changes? derivation-changes)
(any