[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[no subject]
From: |
Ludovic Courtès |
Date: |
Wed, 24 Jan 2018 08:10:20 -0500 (EST) |
branch: master
commit 1d7f4f07d995e13093b8bf72c609c901f38b94c6
Author: Ludovic Courtès <address@hidden>
Date: Wed Jan 24 14:09:28 2018 +0100
base: Be more verbose about restarted builds.
* src/cuirass/base.scm (handle-build-event): Remove unused 'log-port'
parameter.
(restart-builds): Wrap 'build-derivations' in 'guard'. Add
'log-message' calls.
---
src/cuirass/base.scm | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index 2cbfa45..d59be8e 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -277,8 +277,7 @@ and so on. "
;;; Building packages.
;;;
-(define* (handle-build-event db event
- #:key (log-port (current-error-port)))
+(define* (handle-build-event db event)
"Handle EVENT, a build event sexp as produced by 'build-event-output-port',
updating DB accordingly."
(match event
@@ -317,14 +316,20 @@ updating DB accordingly."
;; Those in VALID can be restarted.
(log-message "restarting ~a pending builds" (length valid))
- (parameterize ((current-build-output-port
- (build-event-output-port (lambda (event status)
- (handle-build-event db event))
- #t)))
- (build-derivations store
- (map (lambda (build)
- (assq-ref build #:derivation))
- valid))))))
+
+ (guard (c ((nix-protocol-error? c)
+ (log-message "restarted builds (partially) failed: ~a
(status: ~a)"
+ (nix-protocol-error-message c)
+ (nix-protocol-error-status c))))
+ (parameterize ((current-build-output-port
+ (build-event-output-port (lambda (event status)
+ (handle-build-event db
event))
+ #t)))
+ (build-derivations store
+ (map (lambda (build)
+ (assq-ref build #:derivation))
+ valid))
+ (log-message "done with restarted builds"))))))
(define (build-packages store db jobs)
"Build JOBS and return a list of Build results."