@@ -24,7 +24,7 @@ function create_ruleset() {
24
24
REPOSITORY_NAME=${2}
25
25
ENVIRONMENT_NAME=${3}
26
26
27
- echo " Creating ruleset for ${REPOSITORY_NAME } - ${ENVIRONMENT_NAME } "
27
+ echo " Creating ruleset for ${ENVIRONMENT_NAME } - ${REPOSITORY_OWNER} / ${REPOSITORY_NAME }"
28
28
29
29
RULESET_CONTENT=$( echo $( sed \
30
30
-e " s|\$ {ENVIRONMENT_NAME}|${ENVIRONMENT_NAME} |g" \
@@ -46,7 +46,7 @@ function update_ruleset() {
46
46
ENVIRONMENT_NAME=${3}
47
47
RULESET_ID=${4}
48
48
49
- echo " Updating ruleset for ${REPOSITORY_NAME } - ${ENVIRONMENT_NAME } "
49
+ echo " Updating ruleset for ${ENVIRONMENT_NAME } - ${REPOSITORY_OWNER} / ${REPOSITORY_NAME }"
50
50
51
51
RULESET_CONTENT=$( echo $( sed \
52
52
-e " s|\$ {ENVIRONMENT_NAME}|${ENVIRONMENT_NAME} |g" \
@@ -65,54 +65,37 @@ function update_ruleset() {
65
65
function update_repo_general_settings() {
66
66
REPOSITORY_OWNER=${1}
67
67
68
- echo " ::group::Updating repository settings "
68
+ GENERAL_CONTENT= $( cat admin/repo_static/general.json )
69
69
COMBINED_ARRAY=(${REPO_LIST_APP_IAC[@]} ${REPO_LIST_TF_IAC[@]} ${REPO_LIST_TF_MODULE[@]} )
70
70
for REPOSITORY_NAME in ${COMBINED_ARRAY[@]} ; do
71
- echo " Updating ${REPOSITORY_OWNER} /${REPOSITORY_NAME} "
72
- gh api \
71
+ echo " Updating general settings for ${REPOSITORY_OWNER} /${REPOSITORY_NAME} "
72
+ echo " ${GENERAL_CONTENT} " | gh api \
73
73
--method PATCH \
74
74
-H " Accept: application/vnd.github+json" \
75
75
-H " X-GitHub-Api-Version: 2022-11-28" \
76
76
/repos/${REPOSITORY_OWNER} /${REPOSITORY_NAME} \
77
- -F " has_issues=true" \
78
- -F " has_projects=false" \
79
- -F " has_wiki=false" \
80
- -F " allow_squash_merge=true" \
81
- -F " allow_merge_commit=true" \
82
- -F " allow_rebase_merge=false" \
83
- -F " allow_auto_merge=false" \
84
- -F " delete_branch_on_merge=true" \
85
- -F " allow_update_branch=true" 1> /dev/null
77
+ --input - 1> /dev/null
86
78
done
87
- echo " ::endgroup::"
88
79
}
89
80
90
81
function update_tf_module_rulesets() {
91
82
REPOSITORY_OWNER=${1}
92
83
ENVIRONMENT_NAME=${2}
93
84
94
- echo " ::group::tf-module repository rulesets"
95
85
for REPOSITORY_NAME in ${REPO_LIST_TF_MODULE[@]} ; do
96
- if [ " ${ENVIRONMENT_NAME} " = " prod" ]; then
97
- # Module repositories do not need a prod ruleset
98
- continue
99
- fi
100
-
101
86
ruleset_id=$( get_ruleset_by_name ${REPOSITORY_OWNER} ${REPOSITORY_NAME} ${ENVIRONMENT_NAME} )
102
87
if [ -z " ${ruleset_id} " ]; then
103
88
create_ruleset ${REPOSITORY_OWNER} ${REPOSITORY_NAME} ${ENVIRONMENT_NAME}
104
89
else
105
90
update_ruleset ${REPOSITORY_OWNER} ${REPOSITORY_NAME} ${ENVIRONMENT_NAME} ${ruleset_id}
106
91
fi
107
92
done
108
- echo " ::endgroup::"
109
93
}
110
94
111
95
function update_tf_iac_rulesets() {
112
96
REPOSITORY_OWNER=${1}
113
97
ENVIRONMENT_NAME=${2}
114
98
115
- echo " ::group::app-tf-iac repository rulesets"
116
99
COMBINED_ARRAY=(${REPO_LIST_APP_IAC[@]} ${REPO_LIST_TF_IAC[@]} )
117
100
for REPOSITORY_NAME in ${COMBINED_ARRAY[@]} ; do
118
101
ruleset_id=$( get_ruleset_by_name ${REPOSITORY_OWNER} ${REPOSITORY_NAME} ${ENVIRONMENT_NAME} )
@@ -122,5 +105,4 @@ function update_tf_iac_rulesets() {
122
105
update_ruleset ${REPOSITORY_OWNER} ${REPOSITORY_NAME} ${ENVIRONMENT_NAME} ${ruleset_id}
123
106
fi
124
107
done
125
- echo " ::endgroup::"
126
108
}
0 commit comments