Support excluding and including branches from a repository
So that you can have the Guix Data Service only pay attention to some of the branches.
This commit is contained in:
parent
bb271c366b
commit
c31c9575e0
6 changed files with 70 additions and 15 deletions
|
|
@ -16,6 +16,8 @@
|
||||||
;;; <http://www.gnu.org/licenses/>.
|
;;; <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (guix-data-service branch-updated-emails)
|
(define-module (guix-data-service branch-updated-emails)
|
||||||
|
#:use-module (srfi srfi-1)
|
||||||
|
#:use-module (srfi srfi-11)
|
||||||
#:use-module (srfi srfi-19)
|
#:use-module (srfi srfi-19)
|
||||||
#:use-module (email email)
|
#:use-module (email email)
|
||||||
#:use-module (guix-data-service model git-repository)
|
#:use-module (guix-data-service model git-repository)
|
||||||
|
|
@ -42,6 +44,18 @@
|
||||||
x-git-repo)))
|
x-git-repo)))
|
||||||
|
|
||||||
(when git-repository-id
|
(when git-repository-id
|
||||||
|
(let-values
|
||||||
|
(((included-branches excluded-branches)
|
||||||
|
(select-includes-and-excluded-branches-for-git-repository
|
||||||
|
conn
|
||||||
|
git-repository-id)))
|
||||||
|
(let ((excluded-branch?
|
||||||
|
(member branch-name excluded-branches string=?))
|
||||||
|
(included-branch?
|
||||||
|
(member branch-name included-branches string=?)))
|
||||||
|
(when (and (not excluded-branch?)
|
||||||
|
(or (null? included-branches)
|
||||||
|
included-branch?))
|
||||||
(insert-git-branch-entry conn
|
(insert-git-branch-entry conn
|
||||||
branch-name
|
branch-name
|
||||||
(if (string=? "0000000000000000000000000000000000000000"
|
(if (string=? "0000000000000000000000000000000000000000"
|
||||||
|
|
@ -57,4 +71,4 @@
|
||||||
conn
|
conn
|
||||||
git-repository-id
|
git-repository-id
|
||||||
x-git-newrev
|
x-git-newrev
|
||||||
(string-append x-git-repo " " x-git-refname " updated"))))))))
|
(string-append x-git-repo " " x-git-refname " updated")))))))))))
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,11 @@
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (json)
|
#:use-module (json)
|
||||||
#:use-module (squee)
|
#:use-module (squee)
|
||||||
|
#:use-module (guix-data-service model utils)
|
||||||
#:export (all-git-repositories
|
#:export (all-git-repositories
|
||||||
select-git-repository
|
select-git-repository
|
||||||
git-repository-id->url
|
git-repository-id->url
|
||||||
|
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
|
||||||
git-repository-x-git-repo-header->git-repository-id
|
git-repository-x-git-repo-header->git-repository-id
|
||||||
git-repository-url->git-repository-id
|
git-repository-url->git-repository-id
|
||||||
|
|
@ -61,6 +63,22 @@
|
||||||
(list id))
|
(list id))
|
||||||
(((url)) url)))
|
(((url)) url)))
|
||||||
|
|
||||||
|
(define (select-includes-and-excluded-branches-for-git-repository conn id)
|
||||||
|
(match (exec-query
|
||||||
|
conn
|
||||||
|
"
|
||||||
|
SELECT included_branches, excluded_branches
|
||||||
|
FROM git_repositories WHERE id = $1"
|
||||||
|
(list (number->string id)))
|
||||||
|
(((included_branches excluded_branches))
|
||||||
|
(values
|
||||||
|
(if (string=? included_branches "")
|
||||||
|
'()
|
||||||
|
(parse-postgresql-array-string included_branches))
|
||||||
|
(if (string=? excluded_branches "")
|
||||||
|
'()
|
||||||
|
(parse-postgresql-array-string excluded_branches))))))
|
||||||
|
|
||||||
(define (count-git-repositories-with-x-git-repo-header-values conn)
|
(define (count-git-repositories-with-x-git-repo-header-values conn)
|
||||||
(match (exec-query
|
(match (exec-query
|
||||||
conn
|
conn
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- Deploy guix-data-service:allow_including_and_excluding_branches_for_repositories to pg
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
ALTER TABLE git_repositories ADD COLUMN included_branches varchar[];
|
||||||
|
ALTER TABLE git_repositories ADD COLUMN excluded_branches varchar[];
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
-- Revert guix-data-service:allow_including_and_excluding_branches_for_repositories from pg
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
-- XXX Add DDLs here.
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
@ -48,3 +48,4 @@ change_package_derivations_target 2020-02-07T19:29:50Z Christopher Baines <mail@
|
||||||
remove_old_cross_derivations 2020-02-07T19:42:54Z Christopher Baines <mail@cbaines.net> # Remove old cross derivations
|
remove_old_cross_derivations 2020-02-07T19:42:54Z Christopher Baines <mail@cbaines.net> # Remove old cross derivations
|
||||||
increase_fillfactor_for_some_indexes 2020-02-07T20:49:17Z Christopher Baines <mail@cbaines.net> # Increase the fillfactor for some btree indexes
|
increase_fillfactor_for_some_indexes 2020-02-07T20:49:17Z Christopher Baines <mail@cbaines.net> # Increase the fillfactor for some btree indexes
|
||||||
change_package_derivations_by_guix_revision_range_target 2020-02-08T10:13:07Z Christopher Baines <mail@cbaines.net> # Change the values for package_derivations_by_guix_revision_range target
|
change_package_derivations_by_guix_revision_range_target 2020-02-08T10:13:07Z Christopher Baines <mail@cbaines.net> # Change the values for package_derivations_by_guix_revision_range target
|
||||||
|
allow_including_and_excluding_branches_for_repositories 2020-02-08T11:30:02Z Christopher Baines <mail@cbaines.net> # Allow including and excluding branches for repositories
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
-- Verify guix-data-service:allow_including_and_excluding_branches_for_repositories on pg
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
-- XXX Add verifications here.
|
||||||
|
|
||||||
|
ROLLBACK;
|
||||||
Loading…
Add table
Add a link
Reference in a new issue