Support per repository configuration for fetching substitutes

This is so that data.qa.guix.gnu.org can be configured only to query the
branches from the main repository.
This commit is contained in:
Christopher Baines 2022-09-09 12:39:38 +01:00
parent 45e25c2436
commit ad39492cf0
6 changed files with 48 additions and 15 deletions

View file

@ -22,6 +22,7 @@
#:use-module (guix-data-service model utils)
#:export (all-git-repositories
select-git-repository
git-repository-query-substitutes?
git-repository-id->url
select-includes-and-excluded-branches-for-git-repository
count-git-repositories-with-x-git-repo-header-values
@ -57,6 +58,14 @@
cgit_url_base
(string=? fetch_with_authentication "t")))))
(define (git-repository-query-substitutes? conn id)
(match (exec-query
conn
"SELECT query_substitutes FROM git_repositories WHERE id = $1"
(list (simple-format #f "~A" id)))
(((query_substitutes))
(string=? query_substitutes "t"))))
(define (git-repository-id->url conn id)
(match
(exec-query

View file

@ -130,6 +130,7 @@
(for-each
(match-lambda
((git-repository-id rest ...)
(when (git-repository-query-substitutes? conn git-repository-id)
(for-each
(match-lambda
((branch-name rest ...)
@ -145,7 +146,7 @@
#f)))))
(all-branches-with-most-recent-commit
conn
git-repository-id))))
git-repository-id)))))
(all-git-repositories conn))))
(simple-format #t "finished checking substitutes, now sleeping\n")

View file

@ -0,0 +1,8 @@
-- Deploy guix-data-service:git_repositories_query_substitutes to pg
BEGIN;
ALTER TABLE git_repositories
ADD COLUMN query_substitutes boolean NOT NULL DEFAULT TRUE;
COMMIT;

View file

@ -0,0 +1,7 @@
-- Revert guix-data-service:git_repositories_query_substitutes from pg
BEGIN;
-- XXX Add DDLs here.
COMMIT;

View file

@ -87,3 +87,4 @@ git_branch_id 2022-05-23T18:11:14Z Chris <chris@felis> # Add git_branch.id
partition_package_derivations_by_guix_revision_range 2022-05-23T18:20:37Z Chris <chris@felis> # Partition package_derivations_by_guix_revision_range
package_range_index 2022-06-17T10:39:31Z Chris <chris@felis> # Add index on package_derivations_by_guix_revision_range.package_name
fix_git_commits_duplicates 2022-06-17T10:39:50Z Chris <chris@felis> # Fix git_commits duplicates
git_repositories_query_substitutes 2022-09-09T11:35:16Z Chris <chris@felis> # Add git_repositories.query_substitutes

View file

@ -0,0 +1,7 @@
-- Verify guix-data-service:git_repositories_query_substitutes on pg
BEGIN;
-- XXX Add verifications here.
ROLLBACK;