Allow filtering package derivations based on build server builds
This means you can query for derivations where builds exist or don't exist on a given build server. I think this will come in useful when submitting builds from a Guix Data Service instance.
This commit is contained in:
parent
40035bcf9a
commit
6d403cbc8d
3 changed files with 80 additions and 0 deletions
|
|
@ -191,6 +191,8 @@ ORDER BY systems.system DESC,
|
|||
targets
|
||||
minimum-builds
|
||||
maximum-builds
|
||||
build-from-build-servers
|
||||
no-build-from-build-servers
|
||||
limit-results
|
||||
after-name
|
||||
(include-builds? #t)
|
||||
|
|
@ -238,6 +240,30 @@ ORDER BY systems.system DESC,
|
|||
) <= "
|
||||
(number->string maximum-builds)))
|
||||
'())
|
||||
,@(map
|
||||
(lambda (build-server-id)
|
||||
(string-append
|
||||
"
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM builds
|
||||
WHERE builds.derivation_output_details_set_id =
|
||||
derivations_by_output_details_set.derivation_output_details_set_id
|
||||
AND builds.build_server_id = " (number->string build-server-id) "
|
||||
)"))
|
||||
(or build-from-build-servers '()))
|
||||
,@(map
|
||||
(lambda (build-server-id)
|
||||
(string-append
|
||||
"
|
||||
NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM builds
|
||||
WHERE builds.derivation_output_details_set_id =
|
||||
derivations_by_output_details_set.derivation_output_details_set_id
|
||||
AND builds.build_server_id = " (number->string build-server-id) "
|
||||
)"))
|
||||
(or no-build-from-build-servers '()))
|
||||
,@(cond
|
||||
((eq? build-status #f) '())
|
||||
((eq? build-status 'failing)
|
||||
|
|
@ -382,6 +408,8 @@ ORDER BY derivations.file_name
|
|||
targets
|
||||
minimum-builds
|
||||
maximum-builds
|
||||
build-from-build-servers
|
||||
no-build-from-build-servers
|
||||
limit-results
|
||||
after-name
|
||||
(include-builds? #t)
|
||||
|
|
@ -429,6 +457,30 @@ ORDER BY derivations.file_name
|
|||
) <= "
|
||||
(number->string maximum-builds)))
|
||||
'())
|
||||
,@(map
|
||||
(lambda (build-server-id)
|
||||
(string-append
|
||||
"
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM builds
|
||||
WHERE builds.derivation_output_details_set_id =
|
||||
derivations_by_output_details_set.derivation_output_details_set_id
|
||||
AND builds.build_server_id = " (number->string build-server-id) "
|
||||
)"))
|
||||
(or build-from-build-servers '()))
|
||||
,@(map
|
||||
(lambda (build-server-id)
|
||||
(string-append
|
||||
"
|
||||
NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM builds
|
||||
WHERE builds.derivation_output_details_set_id =
|
||||
derivations_by_output_details_set.derivation_output_details_set_id
|
||||
AND builds.build_server_id = " (number->string build-server-id) "
|
||||
)"))
|
||||
(or no-build-from-build-servers '()))
|
||||
,@(cond
|
||||
((eq? build-status #f) '())
|
||||
((eq? build-status 'failing)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue