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)
|
||||
#: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
|
||||
|
|
|
|||
|
|
@ -130,22 +130,23 @@
|
|||
(for-each
|
||||
(match-lambda
|
||||
((git-repository-id rest ...)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((branch-name rest ...)
|
||||
(and=> (latest-processed-commit-for-branch
|
||||
conn
|
||||
(number->string git-repository-id)
|
||||
branch-name)
|
||||
(lambda (commit)
|
||||
(query-build-server-substitutes
|
||||
(when (git-repository-query-substitutes? conn git-repository-id)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((branch-name rest ...)
|
||||
(and=> (latest-processed-commit-for-branch
|
||||
conn
|
||||
#f ;; All build servers
|
||||
(list commit)
|
||||
#f)))))
|
||||
(all-branches-with-most-recent-commit
|
||||
conn
|
||||
git-repository-id))))
|
||||
(number->string git-repository-id)
|
||||
branch-name)
|
||||
(lambda (commit)
|
||||
(query-build-server-substitutes
|
||||
conn
|
||||
#f ;; All build servers
|
||||
(list commit)
|
||||
#f)))))
|
||||
(all-branches-with-most-recent-commit
|
||||
conn
|
||||
git-repository-id)))))
|
||||
(all-git-repositories conn))))
|
||||
|
||||
(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
|
||||
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
|
||||
|
|
|
|||
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