@@ -52,6 +52,12 @@ def setup():
52
52
metavar = "REPO" ,
53
53
dest = "repos" ,
54
54
)
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
+ )
55
61
args = ap .parse_args ()
56
62
return args
57
63
@@ -79,7 +85,9 @@ def get_select_repos(args):
79
85
return repos
80
86
81
87
82
- def set_repo_labels (repos ):
88
+ def set_repo_labels (args , repos ):
89
+ if args .skip_labels :
90
+ return
83
91
logger .log (logging .INFO , "Syncing labels..." )
84
92
set_labels (repos , * get_labels ())
85
93
logger .log (log .SUCCESS , "done." )
@@ -102,6 +110,8 @@ def update_branch_protection(repo):
102
110
repo .name not in branch_protections .EXEMPT_REPOSITORIES
103
111
and is_engineering_project (repo )
104
112
):
113
+
114
+ logger .log (logging .INFO , f"{ repo .name } : updating branch protections" )
105
115
if repo .name in branch_protections .REQUIRED_STATUS_CHECK_MAP :
106
116
master .edit_protection (
107
117
required_approving_review_count = 1 ,
@@ -114,23 +124,28 @@ def update_branch_protection(repo):
114
124
master .edit_protection (
115
125
required_approving_review_count = 1 , user_push_restrictions = []
116
126
)
117
- print (f'Updating branch protection for: "{ repo .name } "' )
118
127
else :
119
- print ( f'Skipping branch protection for exempt repo: "{ repo .name } "' )
128
+ logger . log ( logging . INFO , f "{ repo .name } : skipping: exempt" )
120
129
121
130
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
+ )
123
137
for repo in repos :
124
138
# TODO: Set up automatic deletion of merged branches
125
139
update_branch_protection (repo )
140
+ logger .log (log .SUCCESS , "done." )
126
141
127
142
128
143
def main ():
129
144
args = setup ()
130
145
logger .log (logging .INFO , "Starting normalization" )
131
146
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 )
134
149
135
150
136
151
if __name__ == "__main__" :
0 commit comments