guix-commits
[Top][All Lists]
Advanced

[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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]