Include the status of derivations

On the comparison page.
This commit is contained in:
Christopher Baines 2019-03-06 22:58:05 +00:00
parent 7a90afe980
commit e656b0967b
Signed by: cbaines
GPG key ID: 5E28A33B0B84F577
4 changed files with 63 additions and 22 deletions

View file

@ -9,6 +9,7 @@
#:use-module (guix-data-service model utils)
#:export (select-existing-derivations
select-derivations-by-id
select-derivations-and-build-status-by-id
insert-into-derivations
derivations->derivation-ids))
@ -289,6 +290,27 @@
(exec-query conn query))
(define (select-derivations-and-build-status-by-id conn ids)
(define query
(string-append
"SELECT derivations.id, derivations.file_name, latest_build_status.status "
"FROM derivations "
"LEFT OUTER JOIN builds ON derivations.id = builds.derivation_id "
"LEFT OUTER JOIN "
"(SELECT DISTINCT ON (internal_build_id) * "
"FROM build_status "
"ORDER BY internal_build_id, status_fetched_at DESC"
") AS latest_build_status "
"ON builds.internal_id = latest_build_status.internal_build_id "
"WHERE derivations.id IN "
"(" (string-join (map (lambda (id)
(simple-format #f "'~A'" id))
ids)
",")
");"))
(exec-query conn query))
(define (derivations->derivation-ids conn derivations)
(define (ensure-input-derivations-exist)
(let* ((missing-derivation-file-names (map derivation-file-name