Skip to content

Commit 60a23f3

Browse files
committed
added --skip-branches & --skip-labels. updated branches to use logging
1 parent 6f2dac4 commit 60a23f3

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

normalize_repos/normalize_repos.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ def setup():
5252
metavar="REPO",
5353
dest="repos",
5454
)
55+
ap.add_argument(
56+
"--skip-branches", action="store_true", help="skip branches update",
57+
)
58+
ap.add_argument(
59+
"--skip-labels", action="store_true", help="skip labels update",
60+
)
5561
args = ap.parse_args()
5662
return args
5763

@@ -79,7 +85,9 @@ def get_select_repos(args):
7985
return repos
8086

8187

82-
def set_repo_labels(repos):
88+
def set_repo_labels(args, repos):
89+
if args.skip_labels:
90+
return
8391
logger.log(logging.INFO, "Syncing labels...")
8492
set_labels(repos, *get_labels())
8593
logger.log(log.SUCCESS, "done.")
@@ -102,6 +110,8 @@ def update_branch_protection(repo):
102110
repo.name not in branch_protections.EXEMPT_REPOSITORIES
103111
and is_engineering_project(repo)
104112
):
113+
114+
logger.log(logging.INFO, f"{repo.name}: updating branch protections")
105115
if repo.name in branch_protections.REQUIRED_STATUS_CHECK_MAP:
106116
master.edit_protection(
107117
required_approving_review_count=1,
@@ -114,23 +124,28 @@ def update_branch_protection(repo):
114124
master.edit_protection(
115125
required_approving_review_count=1, user_push_restrictions=[]
116126
)
117-
print(f'Updating branch protection for: "{repo.name}"')
118127
else:
119-
print(f'Skipping branch protection for exempt repo: "{repo.name}"')
128+
logger.log(logging.INFO, f"{repo.name}: skipping: exempt")
120129

121130

122-
def update_branches(repos):
131+
def update_branches(args, repos):
132+
if args.skip_branches:
133+
return
134+
logger.log(
135+
logging.INFO, "Evaluting repositories for branch protections...",
136+
)
123137
for repo in repos:
124138
# TODO: Set up automatic deletion of merged branches
125139
update_branch_protection(repo)
140+
logger.log(log.SUCCESS, "done.")
126141

127142

128143
def main():
129144
args = setup()
130145
logger.log(logging.INFO, "Starting normalization")
131146
repos = get_select_repos(args)
132-
set_repo_labels(repos)
133-
update_branches(repos)
147+
set_repo_labels(args, repos)
148+
update_branches(args, repos)
134149

135150

136151
if __name__ == "__main__":

0 commit comments

Comments
 (0)