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:
parent
45e25c2436
commit
ad39492cf0
6 changed files with 48 additions and 15 deletions
|
|
@ -22,6 +22,7 @@
|
||||||
#:use-module (guix-data-service model utils)
|
#:use-module (guix-data-service model utils)
|
||||||
#:export (all-git-repositories
|
#:export (all-git-repositories
|
||||||
select-git-repository
|
select-git-repository
|
||||||
|
git-repository-query-substitutes?
|
||||||
git-repository-id->url
|
git-repository-id->url
|
||||||
select-includes-and-excluded-branches-for-git-repository
|
select-includes-and-excluded-branches-for-git-repository
|
||||||
count-git-repositories-with-x-git-repo-header-values
|
count-git-repositories-with-x-git-repo-header-values
|
||||||
|
|
@ -57,6 +58,14 @@
|
||||||
cgit_url_base
|
cgit_url_base
|
||||||
(string=? fetch_with_authentication "t")))))
|
(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)
|
(define (git-repository-id->url conn id)
|
||||||
(match
|
(match
|
||||||
(exec-query
|
(exec-query
|
||||||
|
|
|
||||||
|
|
@ -130,22 +130,23 @@
|
||||||
(for-each
|
(for-each
|
||||||
(match-lambda
|
(match-lambda
|
||||||
((git-repository-id rest ...)
|
((git-repository-id rest ...)
|
||||||
(for-each
|
(when (git-repository-query-substitutes? conn git-repository-id)
|
||||||
(match-lambda
|
(for-each
|
||||||
((branch-name rest ...)
|
(match-lambda
|
||||||
(and=> (latest-processed-commit-for-branch
|
((branch-name rest ...)
|
||||||
conn
|
(and=> (latest-processed-commit-for-branch
|
||||||
(number->string git-repository-id)
|
|
||||||
branch-name)
|
|
||||||
(lambda (commit)
|
|
||||||
(query-build-server-substitutes
|
|
||||||
conn
|
conn
|
||||||
#f ;; All build servers
|
(number->string git-repository-id)
|
||||||
(list commit)
|
branch-name)
|
||||||
#f)))))
|
(lambda (commit)
|
||||||
(all-branches-with-most-recent-commit
|
(query-build-server-substitutes
|
||||||
conn
|
conn
|
||||||
git-repository-id))))
|
#f ;; All build servers
|
||||||
|
(list commit)
|
||||||
|
#f)))))
|
||||||
|
(all-branches-with-most-recent-commit
|
||||||
|
conn
|
||||||
|
git-repository-id)))))
|
||||||
(all-git-repositories conn))))
|
(all-git-repositories conn))))
|
||||||
|
|
||||||
(simple-format #t "finished checking substitutes, now sleeping\n")
|
(simple-format #t "finished checking substitutes, now sleeping\n")
|
||||||
|
|
|
||||||
8
sqitch/deploy/git_repositories_query_substitutes.sql
Normal file
8
sqitch/deploy/git_repositories_query_substitutes.sql
Normal 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;
|
||||||
7
sqitch/revert/git_repositories_query_substitutes.sql
Normal file
7
sqitch/revert/git_repositories_query_substitutes.sql
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
-- Revert guix-data-service:git_repositories_query_substitutes from pg
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
-- XXX Add DDLs here.
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
@ -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
|
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
|
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
|
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
|
||||||
|
|
|
||||||
7
sqitch/verify/git_repositories_query_substitutes.sql
Normal file
7
sqitch/verify/git_repositories_query_substitutes.sql
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
-- Verify guix-data-service:git_repositories_query_substitutes on pg
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
-- XXX Add verifications here.
|
||||||
|
|
||||||
|
ROLLBACK;
|
||||||
Loading…
Add table
Add a link
Reference in a new issue