From e2c9709c7db2fab142112a8fd2ebf16dae76d8b8 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 22 Jun 2019 01:14:57 +0200 Subject: Add a job page Which shows the output for that job. --- guix-data-service/web/controller.scm | 10 ++++++++++ guix-data-service/web/view/html.scm | 29 ++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 3 deletions(-) (limited to 'guix-data-service') diff --git a/guix-data-service/web/controller.scm b/guix-data-service/web/controller.scm index f5d4d90..6990fb9 100644 --- a/guix-data-service/web/controller.scm +++ b/guix-data-service/web/controller.scm @@ -529,6 +529,12 @@ #:sxml (view-jobs (select-jobs-and-events conn)))) +(define (render-job mime-types conn job-id) + (render-html + #:sxml (view-job + job-id + (log-for-job conn job-id)))) + (define (parse-commit conn) (lambda (s) (if (guix-commit-exists? conn s) @@ -816,5 +822,9 @@ ((GET "jobs") (render-jobs mime-types conn)) + ((GET "job" job-id) + (render-job mime-types + conn + job-id)) ((GET path ...) (not-found (request-uri request))))) diff --git a/guix-data-service/web/view/html.scm b/guix-data-service/web/view/html.scm index 6e28837..da7e992 100644 --- a/guix-data-service/web/view/html.scm +++ b/guix-data-service/web/view/html.scm @@ -41,6 +41,7 @@ view-derivation view-store-item view-jobs + view-job compare compare/derivations compare/packages @@ -930,11 +931,12 @@ (tr (th "Commit") (th "Source") - (th "Events"))) + (th "Events") + (th ""))) (tdata ,@(map (match-lambda ((id commit source git-repository-id created-at succeeded-at - events) + events log-exists?) `(tr (@ (class ,(let ((event-names @@ -965,9 +967,30 @@ (cons `(("event" . "created") ("occurred_at" . ,created-at)) - (vector->list events)))))))) + (vector->list events))))) + (td + ,@(if log-exists? + `((a (@ (href ,(string-append "/job/" id))) + "View log")) + '()))))) jobs-and-events))))))))) +(define (view-job job-id log) + (layout + #:body + `(,(header) + (div + (@ (class "container")) + (div + (@ (class "row")) + (div + (@ (class "col-sm-12")) + (h1 "Job " ,job-id))) + (div + (@ (class "row")) + (div + (pre ,log))))))) + (define (view-derivation derivation derivation-inputs derivation-outputs builds) (layout -- cgit v1.2.3