aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/web
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-09-07 17:19:34 +0200
committerChristopher Baines <mail@cbaines.net>2019-09-07 17:19:34 +0200
commiteb0d33a3ba38f14c2f868a12b8ea062b9c85980c (patch)
treefccb75579961e17af23b3acebff5989ccd5bde06 /guix-data-service/web
parentfe8102e1dfbc6dd83cc4ad03e2869a967750ba4f (diff)
downloaddata-service-eb0d33a3ba38f14c2f868a12b8ea062b9c85980c.tar
data-service-eb0d33a3ba38f14c2f868a12b8ea062b9c85980c.tar.gz
Show lint warnings on the comparison page
Diffstat (limited to 'guix-data-service/web')
-rw-r--r--guix-data-service/web/controller.scm12
-rw-r--r--guix-data-service/web/view/html.scm55
2 files changed, 58 insertions, 9 deletions
diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm
index 038af58..58b824e 100644
--- a/guix-data-service/web/controller.scm
+++ b/guix-data-service/web/controller.scm
@@ -43,6 +43,7 @@
#:use-module (guix-data-service model build)
#:use-module (guix-data-service model lint-checker)
#:use-module (guix-data-service model lint-warning)
+ #:use-module (guix-data-service model utils)
#:use-module (guix-data-service jobs load-new-guix-revision)
#:use-module (guix-data-service web render)
#:use-module (guix-data-service web sxml)
@@ -469,7 +470,13 @@
target-packages-vhash))
(version-changes
(package-data-version-changes base-packages-vhash
- target-packages-vhash)))
+ target-packages-vhash))
+ (lint-warnings-data
+ (group-list-by-first-n-fields
+ 2
+ (lint-warning-differences-data conn
+ base-revision-id
+ target-revision-id))))
(case (most-appropriate-mime-type
'(application/json text/html)
mime-types)
@@ -495,7 +502,8 @@
target-revision-id))
new-packages
removed-packages
- version-changes)
+ version-changes
+ lint-warnings-data)
#:extra-headers http-headers-for-unchanging-content))))))
(define (render-compare/derivations mime-types
diff --git a/guix-data-service/web/view/html.scm b/guix-data-service/web/view/html.scm
index e8c7a09..5cd2023 100644
--- a/guix-data-service/web/view/html.scm
+++ b/guix-data-service/web/view/html.scm
@@ -1429,7 +1429,8 @@
cgit-url-bases
new-packages
removed-packages
- version-changes)
+ version-changes
+ lint-warnings-data)
(define query-params
(string-append "?base_commit=" base-commit
"&target_commit=" target-commit))
@@ -1573,12 +1574,52 @@
"/package/"
name "/" version)))
,version)))
- (vector->list versions)))
- ,(if (eq? type 'base)
- " (old)"
- " (new)"))))
- versions))))))
- version-changes))))))))))
+ (vector->list versions)))
+ ,(if (eq? type 'base)
+ " (old)"
+ " (new)"))))
+ versions))))))
+ version-changes))))))
+ (div
+ (@ (class "row"))
+ (div
+ (@ (class "col-sm-12"))
+ (h2 "Lint warnings")
+ ,@(map
+ (match-lambda
+ (((package-name package-version) . warnings)
+ `((h4 ,package-name " (version: " ,package-version ")")
+ (table
+ (@ (class "table"))
+ (thead
+ (tr
+ (th "")
+ (th "Linter")
+ (th "Message")))
+ (tbody
+ ,@(map (match-lambda
+ ((lint-checker-name
+ message
+ lint-checker-description
+ lint-checker-network-dependent
+ file line column-number ;; TODO Maybe use the location?
+ change)
+
+ `(tr
+ (td (@ (class ,(if (string=? change "new")
+ "text-danger"
+ "text-success"))
+ (style "font-weight: bold"))
+ ,(if (string=? change "new")
+ "New warning"
+ "Resolved warning"))
+ (td (span (@ (style "font-family: monospace; display: block;"))
+ ,lint-checker-name)
+ (p (@ (style "font-size: small; margin: 6px 0 0px;"))
+ ,lint-checker-description))
+ (td ,message))))
+ warnings))))))
+ lint-warnings-data)))))))
(define (compare/derivations query-parameters
valid-systems