Query for outputs when build events arrive
This will keep the substitute information more up to date.
This commit is contained in:
parent
7524d23b44
commit
5c9ec28cb5
4 changed files with 104 additions and 4 deletions
|
|
@ -26,6 +26,7 @@
|
|||
#:use-module (guix-data-service model derivation)
|
||||
#:use-module (guix-data-service model system)
|
||||
#:export (select-build-stats
|
||||
select-build-outputs
|
||||
select-builds-with-context
|
||||
select-builds-with-context-by-derivation-file-name
|
||||
select-builds-with-context-by-derivation-output
|
||||
|
|
@ -121,6 +122,40 @@ ORDER BY status"))
|
|||
((sql . value) value))
|
||||
(filter pair? criteria))))))
|
||||
|
||||
(define (select-build-outputs conn build-id)
|
||||
(match (exec-query
|
||||
conn
|
||||
"
|
||||
SELECT derivation_file_name, derivation_output_details_set_id
|
||||
FROM builds
|
||||
WHERE builds.id = $1"
|
||||
(list (number->string build-id)))
|
||||
(((derivation-file-name output-details-set-id))
|
||||
|
||||
(if output-details-set-id
|
||||
(exec-query
|
||||
conn
|
||||
"
|
||||
SELECT derivation_output_details.path
|
||||
FROM derivation_output_details
|
||||
INNER JOIN derivation_output_details_sets
|
||||
ON ARRAY[derivation_output_details.id] &&
|
||||
derivation_output_details_sets.derivation_output_details_ids
|
||||
WHERE derivation_output_details_sets.id = $1"
|
||||
(list output-details-set-id))
|
||||
(exec-query
|
||||
conn
|
||||
"
|
||||
SELECT derivation_output_details.path
|
||||
FROM derivations
|
||||
INNER JOIN derivation_outputs
|
||||
ON derivations.id = derivation_outputs.derivation_id
|
||||
INNER JOIN derivation_output_details
|
||||
ON derivation_outputs.derivation_output_details_id
|
||||
= derivation_output_details.id
|
||||
WHERE derivations.file_name = $1"
|
||||
(list derivation-file-name))))))
|
||||
|
||||
(define* (select-builds-with-context conn build-statuses build-server-ids
|
||||
#:key revision-commit
|
||||
system target
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue