Use the build_servers_build_config table when querying build servers

This allows configuing which systems a build server builds.
This commit is contained in:
Christopher Baines 2020-01-05 12:48:49 +00:00
parent 1679c985c4
commit c7e3a1bd0b
2 changed files with 14 additions and 11 deletions

View file

@ -337,10 +337,14 @@ WHERE derivation_output_details_set_id NOT IN (
FROM package_derivations
INNER JOIN derivations_by_output_details_set
ON package_derivations.derivation_id =
derivations_by_output_details_set.derivation_id"
(if (null? revision-commits)
"
WHERE"
derivations_by_output_details_set.derivation_id
INNER JOIN build_servers_build_config
ON build_servers_build_config.build_server_id = $1
AND build_servers_build_config.system = package_derivations.system
AND build_servers_build_config.target = package_derivations.target
"
(if (null? revision-commits)
""
(string-append
"
INNER JOIN guix_revision_package_derivations
@ -350,12 +354,8 @@ WHERE derivation_output_details_set_id NOT IN (
ON guix_revisions.id = guix_revision_package_derivations.revision_id
WHERE guix_revisions.commit IN ("
(string-join (map quote-string revision-commits) ",")
")
AND"))
"
-- TODO: Filter better on what systems and targets build servers use
package_derivations.system = 'x86_64-linux'
AND package_derivations.target = 'x86_64-linux'
")"))
"
)
ORDER BY derivation_output_details_set_id, derivations.id
LIMIT 15000"))

View file

@ -322,7 +322,6 @@ WHERE derivation_output_details.path NOT IN (
ON narinfo_signature_data.id = narinfo_fetch_records.narinfo_signature_data_id
WHERE narinfo_fetch_records.build_server_id = $1
)
AND derivations.system = 'x86_64-linux'
"
(if (null? guix-revision-commits)
""
@ -332,6 +331,10 @@ WHERE derivation_output_details.path NOT IN (
-- Select outputs that are in the relevant revisions
SELECT derivation_id
FROM package_derivations
INNER JOIN build_servers_build_config
ON build_servers_build_config.build_server_id = $1
AND build_servers_build_config.system = package_derivations.system
AND build_servers_build_config.target = package_derivations.target
INNER JOIN guix_revision_package_derivations
ON guix_revision_package_derivations.package_derivation_id = package_derivations.id
INNER JOIN guix_revisions