diff options
-rw-r--r-- | guix-build-coordinator/agent.scm | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/guix-build-coordinator/agent.scm b/guix-build-coordinator/agent.scm index c8a640a..747c6b1 100644 --- a/guix-build-coordinator/agent.scm +++ b/guix-build-coordinator/agent.scm @@ -69,23 +69,10 @@ (let* ((result (perform-build store derivation-name)) ;; TODO Check this handles timezones right (end-time (localtime (current-time) "UTC"))) - (retry-on-error - (lambda () - (let ((log-file (derivation-log-file derivation-name))) - (unless log-file - (raise-exception - (make-exception-with-message - (simple-format #f "log file missing for ~A (~A)" - derivation-name build-id)))) - (simple-format #t "~A: uploading log file ~A\n" - build-id log-file) - (submit-log-file - coordinator-uri uuid password - build-id - log-file))) - #:times 6 - #:delay 30) + (agent-submit-log-file uuid coordinator-uri password + build-id derivation-name) + ((if result post-build-success post-build-failure) @@ -123,6 +110,26 @@ jobs))))) (sleep 5)))) +(define (agent-submit-log-file uuid coordinator-uri password + build-id derivation-name) + (retry-on-error + (lambda () + (let ((log-file (derivation-log-file derivation-name))) + (unless log-file + (raise-exception + (make-exception-with-message + (simple-format #f "log file missing for ~A (~A)" + derivation-name build-id)))) + + (simple-format #t "~A: uploading log file ~A\n" + build-id log-file) + (submit-log-file + coordinator-uri uuid password + build-id + log-file))) + #:times 6 + #:delay 30)) + (define (pre-build-process store derivation-substitute-urls non-derivation-substitute-urls |