diff options
Diffstat (limited to 'guix-qa-frontpage/branch.scm')
-rw-r--r-- | guix-qa-frontpage/branch.scm | 82 |
1 files changed, 54 insertions, 28 deletions
diff --git a/guix-qa-frontpage/branch.scm b/guix-qa-frontpage/branch.scm index 5e84df2..df6fdd3 100644 --- a/guix-qa-frontpage/branch.scm +++ b/guix-qa-frontpage/branch.scm @@ -182,40 +182,59 @@ (lambda (exn) (if (guix-data-service-error? exn) (guix-data-service-error->sexp exn) - `((exception . ,(simple-format #f "~A" exn))))) + (begin + (simple-format + (current-error-port) + "exception checking if branch is up to date (~A): ~A\n" + branch-name + exn) + `((exception . ,(simple-format #f "~A" exn)))))) (lambda () - (let* ((master-revision - (get-latest-processed-branch-revision "master")) - (changes - (length - (revision-derivation-changes - (revision-derivation-changes-url - `((base . ,merge-base) - (target . ,master-revision)) - ;; TODO: Maybe do something smarter here? - #:systems '("x86_64-linux")))))) - `((up-to-date? . ,(< changes 3000)) - (changes . ,changes) - (master . ,master-revision)))) + (with-throw-handler #t + (lambda () + (let* ((master-revision + (get-latest-processed-branch-revision "master")) + (changes + (length + (compare-package-derivations + (compare-package-derivations-url + `((base . ,merge-base) + (target . ,master-revision)) + ;; TODO: Maybe do something smarter here? + #:systems '("x86_64-linux")))))) + `((up-to-date? . ,(< changes 3000)) + (changes . ,changes) + (master . ,master-revision)))) + (lambda _ + (backtrace)))) #:unwind? #t)) - (derivation-changes-counts + (derivation-changes (with-exception-handler (lambda (exn) (if (guix-data-service-error? exn) (guix-data-service-error->sexp exn) - `((exception . ,(simple-format #f "~A" exn))))) + (begin + (simple-format + (current-error-port) + "exception fetching branch derivation changes (~A): ~A\n" + branch-name + exn) + `((exception . ,(simple-format #f "~A" exn)))))) (lambda () - (let ((derivation-changes-data - change-details - (revision-derivation-changes - (revision-derivation-changes-url - revisions - #:systems %systems-to-submit-builds-for)))) - - (derivation-changes-counts - derivation-changes-data - %systems-to-submit-builds-for))) + (with-throw-handler #t + (lambda () + (let ((derivation-changes-data + (compare-package-derivations + (compare-package-derivations-url + revisions + #:systems %systems-to-submit-builds-for)))) + + (derivation-changes + derivation-changes-data + %systems-to-submit-builds-for))) + (lambda _ + (backtrace)))) #:unwind? #t)) (substitute-availability @@ -223,7 +242,13 @@ (lambda (exn) (if (guix-data-service-error? exn) (guix-data-service-error->sexp exn) - `((exception . ,(simple-format #f "~A" exn))))) + (begin + (simple-format + (current-error-port) + "exception fetching branch substitute availability (~A): ~A\n" + branch-name + exn) + `((exception . ,(simple-format #f "~A" exn)))))) (lambda () (package-substitute-availability (package-substitute-availability-url @@ -242,7 +267,7 @@ (values revisions - derivation-changes-counts + derivation-changes substitute-availability up-to-date-with-master? master-branch-systems-with-low-substitute-availability)) @@ -390,6 +415,7 @@ branch-data #:args (list branch-name) + #:version 2 #:ttl (/ frequency 2)))) (update-branch-substitute-availability-metrics |