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 FROM package_derivations
INNER JOIN derivations_by_output_details_set INNER JOIN derivations_by_output_details_set
ON package_derivations.derivation_id = ON package_derivations.derivation_id =
derivations_by_output_details_set.derivation_id" derivations_by_output_details_set.derivation_id
(if (null? revision-commits) INNER JOIN build_servers_build_config
" ON build_servers_build_config.build_server_id = $1
WHERE" AND build_servers_build_config.system = package_derivations.system
AND build_servers_build_config.target = package_derivations.target
"
(if (null? revision-commits)
""
(string-append (string-append
" "
INNER JOIN guix_revision_package_derivations 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 ON guix_revisions.id = guix_revision_package_derivations.revision_id
WHERE guix_revisions.commit IN (" WHERE guix_revisions.commit IN ("
(string-join (map quote-string revision-commits) ",") (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 ORDER BY derivation_output_details_set_id, derivations.id
LIMIT 15000")) 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 ON narinfo_signature_data.id = narinfo_fetch_records.narinfo_signature_data_id
WHERE narinfo_fetch_records.build_server_id = $1 WHERE narinfo_fetch_records.build_server_id = $1
) )
AND derivations.system = 'x86_64-linux'
" "
(if (null? guix-revision-commits) (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 outputs that are in the relevant revisions
SELECT derivation_id SELECT derivation_id
FROM package_derivations 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 INNER JOIN guix_revision_package_derivations
ON guix_revision_package_derivations.package_derivation_id = package_derivations.id ON guix_revision_package_derivations.package_derivation_id = package_derivations.id
INNER JOIN guix_revisions INNER JOIN guix_revisions