Skip to content

Commit 79a81b0

Browse files
committed
add_multiple_region_value_files_to_match_argocd_applicationset_template
Signed-off-by: Basma1912 <[email protected]>
1 parent 9dbdb01 commit 79a81b0

File tree

1 file changed

+49
-6
lines changed

1 file changed

+49
-6
lines changed

.github/workflows/diff-rendered-charts.yml

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,30 @@ jobs:
5858
if [ -f "${MATRIX_CHART}/Chart.yaml" ]; then
5959
helm dependency update "${MATRIX_CHART}"
6060
values_files="${MATRIX_CHART}"/values-*
61-
for values_file in $(basename -a $values_files); do
62-
helm template "${MATRIX_CHART}" -f "${MATRIX_CHART}/values.yaml" -f "${MATRIX_CHART}/${values_file}" --output-dir "shared/head-charts/${MATRIX_CHART}/${values_file}"
63-
done
61+
for values_path in ${values_files}; do
62+
values_file=$(basename "$values_path")
63+
env=$(echo "$values_file" | sed -E 's/^values-([a-z0-9]+)(-.+)?\.yaml$/\1/')
64+
region=$(echo "$values_file" | sed -nE "s/^values-${env}-(.+)\.yaml$/\1/p")
65+
66+
output_name=$(basename "$values_file" .yaml)
67+
render_path="shared/head-charts/${MATRIX_CHART}/${output_name}"
68+
mkdir -p "$render_path"
69+
70+
if [[ -n "$region" && -f "${MATRIX_CHART}/values-${env}.yaml" ]]; then
71+
# Render with three layers: base, env, env-region
72+
helm template "${MATRIX_CHART}" \
73+
-f "${MATRIX_CHART}/values.yaml" \
74+
-f "${MATRIX_CHART}/values-${env}.yaml" \
75+
-f "${MATRIX_CHART}/${values_file}" \
76+
--output-dir "$render_path"
77+
else
78+
# Only base + environment file
79+
helm template "${MATRIX_CHART}" \
80+
-f "${MATRIX_CHART}/values.yaml" \
81+
-f "${MATRIX_CHART}/${values_file}" \
82+
--output-dir "$render_path"
83+
fi
84+
done
6485
fi
6586
echo sanitized_name=$(echo "${MATRIX_CHART}" | sed 's/\//-/g') >> $GITHUB_OUTPUT
6687
env:
@@ -95,9 +116,31 @@ jobs:
95116
if [ -f "${MATRIX_CHART}/Chart.yaml" ]; then
96117
helm dependency update "${MATRIX_CHART}"
97118
values_files="${MATRIX_CHART}"/values-*
98-
for values_file in $(basename -a $values_files); do
99-
helm template "${MATRIX_CHART}" -f "${MATRIX_CHART}/values.yaml" -f "${MATRIX_CHART}/${values_file}" --output-dir "shared/base-charts/${MATRIX_CHART}/${values_file}"
100-
done
119+
120+
for values_path in ${values_files}; do
121+
values_file=$(basename "$values_path")
122+
env=$(echo "$values_file" | sed -E 's/^values-([a-z0-9]+)(-.+)?\.yaml$/\1/')
123+
region=$(echo "$values_file" | sed -nE "s/^values-${env}-(.+)\.yaml$/\1/p")
124+
125+
output_name=$(basename "$values_file" .yaml)
126+
render_path="shared/base-charts/${MATRIX_CHART}/${output_name}"
127+
mkdir -p "$render_path"
128+
129+
if [[ -n "$region" && -f "${MATRIX_CHART}/values-${env}.yaml" ]]; then
130+
# Render with three layers: base, env, env-region
131+
helm template "${MATRIX_CHART}" \
132+
-f "${MATRIX_CHART}/values.yaml" \
133+
-f "${MATRIX_CHART}/values-${env}.yaml" \
134+
-f "${MATRIX_CHART}/${values_file}" \
135+
--output-dir "$render_path"
136+
else
137+
# Only base + environment file
138+
helm template "${MATRIX_CHART}" \
139+
-f "${MATRIX_CHART}/values.yaml" \
140+
-f "${MATRIX_CHART}/${values_file}" \
141+
--output-dir "$render_path"
142+
fi
143+
done
101144
fi
102145
echo sanitized_name=$(echo "${MATRIX_CHART}" | sed 's/\//-/g') >> $GITHUB_OUTPUT
103146
env:

0 commit comments

Comments
 (0)