aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-05-15 15:06:39 +0100
committerChristopher Baines <mail@cbaines.net>2024-05-17 14:39:38 +0100
commit8f3cafa795b3c520d96300720d42adafa899799e (patch)
tree1d6604bc1331d8a56a98d4ea59318e0c9456683a
parent869a73974dbdadd012bc0277139937c298a5bd45 (diff)
downloadqa-frontpage-8f3cafa795b3c520d96300720d42adafa899799e.tar
qa-frontpage-8f3cafa795b3c520d96300720d42adafa899799e.tar.gz
Handle 404's while processing branch builds
-rw-r--r--guix-qa-frontpage/manage-builds.scm46
1 files changed, 28 insertions, 18 deletions
diff --git a/guix-qa-frontpage/manage-builds.scm b/guix-qa-frontpage/manage-builds.scm
index ea9adc3..f4fba31 100644
--- a/guix-qa-frontpage/manage-builds.scm
+++ b/guix-qa-frontpage/manage-builds.scm
@@ -324,24 +324,34 @@
(let ((derivations-and-priorities
(fold
(lambda (system result)
- (vector-fold-right
- (lambda (_ result derivation)
- (cons
- (list
- (assoc-ref derivation "derivation")
- (if (number? priority)
- priority
- (priority derivation)))
- result))
- result
- (assoc-ref
- (guix-data-service-request
- (package-derivations-url
- branch-commit
- #:system system
- #:target ""
- #:no-build-from-build-server "2"))
- "derivations")))
+ (let ((package-derivations
+ ;; This can be #f for unprcessed revisions as
+ ;; the data service gives a 404
+ (guix-data-service-request
+ (package-derivations-url
+ branch-commit
+ #:system system
+ #:target ""
+ #:no-build-from-build-server "2"))))
+ (if (eq? package-derivations #f)
+ (begin
+ (simple-format
+ (current-error-port)
+ "missing package derivation data for ~A\n"
+ branch)
+ '())
+ (vector-fold-right
+ (lambda (_ result derivation)
+ (cons
+ (list
+ (assoc-ref derivation "derivation")
+ (if (number? priority)
+ priority
+ (priority derivation)))
+ result))
+ result
+ (assoc-ref package-derivations
+ "derivations")))))
'()
%systems-to-submit-builds-for)))
(submit-builds-for-category build-coordinator