Improve the builds info on the revision package version page
Show multiple builds, and link to the build page.
This commit is contained in:
parent
0e3c28ffbd
commit
7654877991
2 changed files with 44 additions and 5 deletions
|
|
@ -108,8 +108,19 @@
|
||||||
(define (select-derivations-by-revision-name-and-version
|
(define (select-derivations-by-revision-name-and-version
|
||||||
conn revision-commit-hash name version)
|
conn revision-commit-hash name version)
|
||||||
(define query "
|
(define query "
|
||||||
SELECT derivations.system, package_derivations.target, derivations.file_name,
|
SELECT derivations.system,
|
||||||
latest_build_status.status
|
package_derivations.target,
|
||||||
|
derivations.file_name,
|
||||||
|
JSON_AGG(
|
||||||
|
json_build_object(
|
||||||
|
'build_server_id', builds.build_server_id,
|
||||||
|
'status', latest_build_status.status,
|
||||||
|
'timestamp', latest_build_status.timestamp,
|
||||||
|
'build_for_equivalent_derivation',
|
||||||
|
builds.derivation_file_name != derivations.file_name
|
||||||
|
)
|
||||||
|
ORDER BY latest_build_status.timestamp
|
||||||
|
)
|
||||||
FROM derivations
|
FROM derivations
|
||||||
INNER JOIN package_derivations
|
INNER JOIN package_derivations
|
||||||
ON derivations.id = package_derivations.derivation_id
|
ON derivations.id = package_derivations.derivation_id
|
||||||
|
|
@ -124,6 +135,8 @@ INNER JOIN derivations_by_output_details_set
|
||||||
LEFT OUTER JOIN builds
|
LEFT OUTER JOIN builds
|
||||||
ON derivations_by_output_details_set.derivation_output_details_set_id =
|
ON derivations_by_output_details_set.derivation_output_details_set_id =
|
||||||
builds.derivation_output_details_set_id
|
builds.derivation_output_details_set_id
|
||||||
|
LEFT OUTER JOIN build_servers
|
||||||
|
ON builds.build_server_id = build_servers.id
|
||||||
LEFT OUTER JOIN (
|
LEFT OUTER JOIN (
|
||||||
SELECT DISTINCT ON (build_id) *
|
SELECT DISTINCT ON (build_id) *
|
||||||
FROM build_status
|
FROM build_status
|
||||||
|
|
@ -133,11 +146,25 @@ LEFT OUTER JOIN (
|
||||||
WHERE guix_revisions.commit = $1
|
WHERE guix_revisions.commit = $1
|
||||||
AND packages.name = $2
|
AND packages.name = $2
|
||||||
AND packages.version = $3
|
AND packages.version = $3
|
||||||
|
GROUP BY derivations.system,
|
||||||
|
package_derivations.target,
|
||||||
|
derivations.file_name
|
||||||
ORDER BY derivations.system DESC,
|
ORDER BY derivations.system DESC,
|
||||||
package_derivations.target DESC,
|
package_derivations.target DESC,
|
||||||
derivations.file_name")
|
derivations.file_name")
|
||||||
|
|
||||||
(exec-query conn query (list revision-commit-hash name version)))
|
(map (match-lambda
|
||||||
|
((system target file-name builds-json)
|
||||||
|
(list system
|
||||||
|
target
|
||||||
|
file-name
|
||||||
|
(filter (lambda (build)
|
||||||
|
(assoc-ref build "status"))
|
||||||
|
(vector->list
|
||||||
|
(json-string->scm builds-json))))))
|
||||||
|
(exec-query conn
|
||||||
|
query
|
||||||
|
(list revision-commit-hash name version))))
|
||||||
|
|
||||||
(define* (select-derivations-in-revision conn
|
(define* (select-derivations-in-revision conn
|
||||||
commit-hash
|
commit-hash
|
||||||
|
|
|
||||||
|
|
@ -237,13 +237,25 @@
|
||||||
(tbody
|
(tbody
|
||||||
,@(map
|
,@(map
|
||||||
(match-lambda
|
(match-lambda
|
||||||
((system target file-name status)
|
((system target file-name builds)
|
||||||
`(tr
|
`(tr
|
||||||
(td (samp ,system))
|
(td (samp ,system))
|
||||||
(td (samp ,target))
|
(td (samp ,target))
|
||||||
(td (a (@ (href ,file-name))
|
(td (a (@ (href ,file-name))
|
||||||
,(display-store-item-short file-name)))
|
,(display-store-item-short file-name)))
|
||||||
(td ,(build-status-span status)))))
|
(td
|
||||||
|
(ul
|
||||||
|
(@ (class "list-inline"))
|
||||||
|
,@(map (lambda (build)
|
||||||
|
`(li
|
||||||
|
(a (@ (href
|
||||||
|
,(simple-format
|
||||||
|
#f "/build-server/~A/build?derivation_file_name=~A"
|
||||||
|
(assoc-ref build "build_server_id")
|
||||||
|
file-name)))
|
||||||
|
,(build-status-span
|
||||||
|
(assoc-ref build "status")))))
|
||||||
|
builds))))))
|
||||||
derivations)))))
|
derivations)))))
|
||||||
(div
|
(div
|
||||||
(@ (class "row"))
|
(@ (class "row"))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue