guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Ricardo Wurmus
Date: Wed, 19 Jun 2019 09:18:48 -0400 (EDT)

branch: master
commit 5885b9814d0f53dbac7d1b22f392b86199c2d976
Author: Ricardo Wurmus <address@hidden>
Date:   Wed Jun 19 15:17:45 2019 +0200

    templates: Display logs of blocking dependencies.
    
    * src/cuirass/templates.scm (build-details): Determine failed outputs of
    prerequisites and link to their logs.
---
 src/cuirass/templates.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/cuirass/templates.scm b/src/cuirass/templates.scm
index 989cbf9..fb3c7e9 100644
--- a/src/cuirass/templates.scm
+++ b/src/cuirass/templates.scm
@@ -25,6 +25,8 @@
   #:use-module (srfi srfi-2)
   #:use-module (srfi srfi-19)
   #:use-module (srfi srfi-26)
+  #:use-module (guix derivations)
+  #:use-module (guix store)
   #:use-module ((cuirass database) #:select (build-status))
   #:export (html-page
             specifications-table
@@ -146,6 +148,17 @@
       `(span (@ (class "oi oi-x text-danger")
                 (title "Failed"))
              " Failed"))))
+  (define blocking-outputs
+    (or (and-let* (((= (build-status failed-dependency) status))
+                   (drv (false-if-exception
+                         (read-derivation-from-file
+                          (assq-ref build #:derivation)))))
+          (append-map derivation-input-output-paths
+                      (filter (compose derivation-log-file 
derivation-input-path)
+                              (with-store store
+                                (derivation-prerequisites-to-build
+                                 store drv #:substitutable-info (const #f))))))
+        '()))
   (define completed?
     (or (= (build-status succeeded) status)
         (= (build-status failed) status)))
@@ -156,7 +169,12 @@
       (tr (th "Build ID")
           (td ,(assq-ref build #:id)))
       (tr (th "Status")
-          (td ,display-status))
+          (td ,display-status
+              ,@(map (lambda (output)
+                       `((br)
+                         (a (@ (href ,(string-append "/log/" (basename 
output))))
+                            ,output)))
+                     blocking-outputs)))
       (tr (th "System")
           (td ,(assq-ref build #:system)))
       (tr (th "Name")



reply via email to

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