diff options
author | Christopher Baines <mail@cbaines.net> | 2019-12-16 20:18:34 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-12-16 20:18:34 +0000 |
commit | dc82112bf8c59fd71f2307cd6b7ca2990cc60807 (patch) | |
tree | 9f64d16864d5bb31dce483daff6ea0e4619aa1a2 /guix-data-service | |
parent | 3305d85ef0fbcab56a84a6c9c5e01435994e29f6 (diff) | |
download | data-service-dc82112bf8c59fd71f2307cd6b7ca2990cc60807.tar data-service-dc82112bf8c59fd71f2307cd6b7ca2990cc60807.tar.gz |
Simplify the derivations page display
Displaing the outputs didn't add much, so focus on neatly displaying the
builds.
Diffstat (limited to 'guix-data-service')
-rw-r--r-- | guix-data-service/web/revision/controller.scm | 7 | ||||
-rw-r--r-- | guix-data-service/web/revision/html.scm | 79 |
2 files changed, 36 insertions, 50 deletions
diff --git a/guix-data-service/web/revision/controller.scm b/guix-data-service/web/revision/controller.scm index 8d787ad..d65de15 100644 --- a/guix-data-service/web/revision/controller.scm +++ b/guix-data-service/web/revision/controller.scm @@ -639,6 +639,12 @@ #:minimum-builds (assq-ref query-parameters 'minimum_builds) #:limit-results limit-results #:after-name (assq-ref query-parameters 'after_name))) + (build-server-urls + (group-to-alist + (match-lambda + ((id url lookup-all-derivations) + (cons id url))) + (select-build-servers conn))) (show-next-page? (if all-results #f @@ -656,6 +662,7 @@ query-parameters (valid-systems conn) derivations + build-server-urls show-next-page? #:path-base path-base #:header-text header-text diff --git a/guix-data-service/web/revision/html.scm b/guix-data-service/web/revision/html.scm index 53a146e..8443ac9 100644 --- a/guix-data-service/web/revision/html.scm +++ b/guix-data-service/web/revision/html.scm @@ -862,6 +862,7 @@ figure { query-parameters valid-systems derivations + build-server-urls show-next-page? #:key (path-base "/revision/") header-text @@ -941,56 +942,34 @@ figure { ,@(map (match-lambda ((file-name system target builds outputs) - (let ((build-server-ids - (sort - (delete-duplicates - (append - (map (lambda (build) - (assoc-ref build "build_server_id")) - (vector->list builds)) - (append-map - (lambda (output) - (map (lambda (nar) - (assoc-ref nar "build_server_id")) - (vector->list - (or (assoc-ref output "nars") - #())))) - (vector->list outputs)))) - <))) - `(tr - (td (a (@ (href ,file-name)) - ,(display-store-item-short file-name))) - (td (@ (style "font-family: monospace;")) - ,system) - (td (@ (style "font-family: monospace;")) - ,target) - (td ,@(map - (lambda (build-server-id) - `(div - ,@(map build-status-alist->build-icon - (filter - (lambda (build) - (eq? build-server-id - (assoc-ref build "build_server_id"))) - (vector->list builds))) - ,@(map (lambda (output) - `(div - "Output: " ,(assoc-ref output "output_name") - ,@(map (lambda (nar) - `(div - (a (@ (href - ,(assoc-ref output "output_path"))) - "Build server " - ,(assoc-ref nar "build_server_id")))) - (filter - (lambda (nar) - (eq? build-server-id - (assoc-ref nar "build_server_id"))) - (vector->list - (or (assoc-ref output "nars") - #())))))) - (vector->list outputs)))) - build-server-ids)))))) + `(tr + (td (a (@ (href ,file-name)) + ,(display-store-item-short file-name))) + (td (@ (style "font-family: monospace;")) + ,system) + (td (@ (style "font-family: monospace;")) + ,target) + (td + (dl + ,@(append-map + (lambda (build) + (let ((build-server-id + (assoc-ref build "build_server_id"))) + `((dt + (@ (style "font-weight: unset;")) + (a (@ (href + ,(assq-ref build-server-urls + build-server-id))) + ,(assq-ref build-server-urls + build-server-id))) + (dd + (a (@ (href + ,(simple-format + #f "/build-server/~A/build?derivation_file_name=~A" + build-server-id + file-name))) + ,(build-status-alist->build-icon build)))))) + (vector->list builds))))))) derivations))) ,@(if show-next-page? `((div |