diff options
author | Christopher Baines <mail@cbaines.net> | 2023-09-15 12:01:07 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-09-15 12:01:07 +0100 |
commit | d213738667e90f4dd5c0fe11cb76491e99c03270 (patch) | |
tree | 19d35716f9c43e708a799809f5540583bc66b838 | |
parent | e4d0243412f3c4d3581012f3310496538765166b (diff) | |
download | qa-frontpage-d213738667e90f4dd5c0fe11cb76491e99c03270.tar qa-frontpage-d213738667e90f4dd5c0fe11cb76491e99c03270.tar.gz |
Add port timeouts around canceling builds
-rw-r--r-- | guix-qa-frontpage/manage-builds.scm | 101 |
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 |