Use revision labels on the index page as well
Also flip the branch and revision columns around, and add date information to the branch column.
This commit is contained in:
parent
a168b23c24
commit
ea80311c49
3 changed files with 48 additions and 18 deletions
|
|
@ -1,5 +1,6 @@
|
|||
(define-module (guix-data-service model git-repository)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (json)
|
||||
#:use-module (squee)
|
||||
#:export (all-git-repositories
|
||||
git-repository-id->url
|
||||
|
|
@ -44,22 +45,36 @@
|
|||
(define (guix-revisions-and-jobs-for-git-repository conn git-repository-id)
|
||||
(define query
|
||||
"
|
||||
SELECT NULL AS id, load_new_guix_revision_jobs.id AS job_id, commit, source
|
||||
SELECT NULL AS id, load_new_guix_revision_jobs.id AS job_id,
|
||||
(
|
||||
SELECT json_agg(event)
|
||||
FROM load_new_guix_revision_job_events
|
||||
WHERE load_new_guix_revision_jobs.id = load_new_guix_revision_job_events.job_id
|
||||
) AS job_events, commit, source
|
||||
FROM load_new_guix_revision_jobs
|
||||
WHERE git_repository_id = $1 AND succeeded_at IS NULL AND NOT EXISTS (
|
||||
SELECT 1 FROM load_new_guix_revision_job_events
|
||||
WHERE event = 'failure' AND job_id = load_new_guix_revision_jobs.id
|
||||
)
|
||||
UNION
|
||||
SELECT id, NULL, commit, NULL
|
||||
UNION ALL
|
||||
SELECT id, NULL, NULL, commit, NULL
|
||||
FROM guix_revisions
|
||||
WHERE git_repository_id = $1
|
||||
ORDER BY 1 DESC NULLS FIRST, 2 DESC LIMIT 10;")
|
||||
|
||||
(exec-query
|
||||
conn
|
||||
query
|
||||
(list git-repository-id)))
|
||||
(map
|
||||
(match-lambda
|
||||
((id job_id job_events commit source)
|
||||
(list id
|
||||
job_id
|
||||
(if (string=? "" job_events)
|
||||
'()
|
||||
(vector->list (json-string->scm job_events)))
|
||||
commit source)))
|
||||
(exec-query
|
||||
conn
|
||||
query
|
||||
(list git-repository-id))))
|
||||
|
||||
(define (git-repositories-containing-commit conn commit)
|
||||
(define query
|
||||
|
|
|
|||
|
|
@ -627,9 +627,10 @@
|
|||
git-repository-details
|
||||
(map
|
||||
(match-lambda
|
||||
((id job-id commit source)
|
||||
((id job-id job-events commit source)
|
||||
(list id
|
||||
job-id
|
||||
job-events
|
||||
commit
|
||||
source
|
||||
(git-branches-for-commit conn commit))))
|
||||
|
|
|
|||
|
|
@ -274,25 +274,39 @@
|
|||
(@ (class "table"))
|
||||
(thead
|
||||
(tr
|
||||
(th (@ (class "col-md-6")) "Branch")
|
||||
(th (@ (class "col-md-6")) "Commit")))
|
||||
(tbody
|
||||
,@(map
|
||||
(match-lambda
|
||||
((id job-id commit source branches)
|
||||
((id job-id job-events commit source branches)
|
||||
`(tr
|
||||
(td ,(if (string-null? id)
|
||||
`(samp ,commit)
|
||||
`(a (@ (href ,(string-append
|
||||
"/revision/" commit)))
|
||||
(samp ,commit))))
|
||||
(td
|
||||
,@(map
|
||||
(match-lambda
|
||||
((name date)
|
||||
`(a (@ (href ,(string-append
|
||||
"/branch/" name)))
|
||||
,name)))
|
||||
branches)))))
|
||||
`(span
|
||||
(a (@ (href ,(string-append
|
||||
"/branch/" name)))
|
||||
,name)
|
||||
" at "
|
||||
,date)))
|
||||
branches))
|
||||
(td (a (@ (href ,(string-append
|
||||
"/revision/" commit)))
|
||||
(samp ,commit)
|
||||
" "
|
||||
,(cond
|
||||
((not (string-null? id))
|
||||
'(span
|
||||
(@ (class "label label-success"))
|
||||
"✓"))
|
||||
((member "failure" job-events)
|
||||
'(span (@ (class "label label-danger"))
|
||||
"Failed to import data"))
|
||||
(else
|
||||
'(span (@ (class "label label-default"))
|
||||
"No information yet"))))))))
|
||||
revisions))))))))
|
||||
git-repositories-and-revisions)))))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue