Add a small table of recent job events
To make it easier to see what recently happened.
This commit is contained in:
parent
331e3e789d
commit
2062badf51
3 changed files with 57 additions and 1 deletions
|
|
@ -56,6 +56,7 @@
|
|||
process-load-new-guix-revision-job
|
||||
select-job-for-commit
|
||||
select-jobs-and-events
|
||||
select-recent-job-events
|
||||
select-unprocessed-jobs-and-events
|
||||
select-jobs-and-events-for-commit
|
||||
record-job-event
|
||||
|
|
@ -1076,6 +1077,26 @@ RETURNING id;")
|
|||
(list commit))))
|
||||
result))
|
||||
|
||||
(define* (select-recent-job-events conn
|
||||
#:key (limit 8))
|
||||
(define query
|
||||
(string-append
|
||||
"
|
||||
SELECT
|
||||
load_new_guix_revision_jobs.id,
|
||||
load_new_guix_revision_jobs.commit,
|
||||
load_new_guix_revision_jobs.source,
|
||||
load_new_guix_revision_jobs.git_repository_id,
|
||||
load_new_guix_revision_job_events.event,
|
||||
load_new_guix_revision_job_events.occurred_at
|
||||
FROM load_new_guix_revision_jobs
|
||||
INNER JOIN load_new_guix_revision_job_events
|
||||
ON load_new_guix_revision_job_events.job_id = load_new_guix_revision_jobs.id
|
||||
ORDER BY load_new_guix_revision_job_events.occurred_at DESC
|
||||
LIMIT " (number->string limit)))
|
||||
|
||||
(exec-query conn query))
|
||||
|
||||
(define (select-jobs-and-events conn before-id limit)
|
||||
(define query
|
||||
(string-append
|
||||
|
|
|
|||
|
|
@ -64,11 +64,13 @@
|
|||
(jobs (select-jobs-and-events
|
||||
conn
|
||||
(assq-ref query-parameters 'before_id)
|
||||
limit-results)))
|
||||
limit-results))
|
||||
(recent-events (select-recent-job-events conn)))
|
||||
(render-html
|
||||
#:sxml (view-jobs
|
||||
query-parameters
|
||||
jobs
|
||||
recent-events
|
||||
(and limit-results
|
||||
(>= (length jobs)
|
||||
limit-results))))))
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
(define (view-jobs query-parameters
|
||||
jobs-and-events
|
||||
recent-events
|
||||
show-next-page?)
|
||||
(layout
|
||||
#:body
|
||||
|
|
@ -46,6 +47,38 @@
|
|||
(href "/jobs/queue")
|
||||
(role "button"))
|
||||
"Queue"))))
|
||||
(div
|
||||
(@ (class "row"))
|
||||
(div
|
||||
(@ (class "col-sm-1")))
|
||||
(div
|
||||
(@ (class "col-sm-10"))
|
||||
(table
|
||||
(@ (class "table"))
|
||||
(thead
|
||||
(tr
|
||||
(th "Job")
|
||||
(th "Event")
|
||||
(th "Occurred at")))
|
||||
(tbody
|
||||
,@(map
|
||||
(match-lambda
|
||||
((id commit source git-repository-id event occurred-at)
|
||||
`(tr
|
||||
(td (a (@ (href
|
||||
,(string-append
|
||||
"/revision/" commit)))
|
||||
(samp ,commit)))
|
||||
(td ,@(let ((classes '(("start" . "info")
|
||||
("success" . "success")
|
||||
("failure" . "danger"))))
|
||||
(or (and=> (assoc-ref classes event)
|
||||
(lambda (class)
|
||||
`((@ (class ,class)))))
|
||||
'()))
|
||||
,event)
|
||||
(td ,occurred-at))))
|
||||
recent-events)))))
|
||||
(div
|
||||
(@ (class "row"))
|
||||
(div
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue