Skip to content

Commit 3188dcd

Browse files
committed
ci: option to pass extra values_files_changes to dev chart push
This commit extends the shared chart push workflow to accept additional values_file_changes from callers. The passed values are merged with the base values. Signed-off-by: Marco Hofstetter <marco.hofstetter@isovalent.com>
1 parent 3d8f26c commit 3188dcd

1 file changed

Lines changed: 47 additions & 28 deletions

File tree

.github/workflows/push-chart-ci.yaml

Lines changed: 47 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ on:
1111
description: 'Image tag to use for the images in the chart.'
1212
type: string
1313
required: true
14+
extra_values_file_changes:
15+
description: 'Additional values_file_changes JSON entries to merge into the default chart overrides.'
16+
type: string
17+
required: false
18+
default: "{}"
1419

1520
# By specifying the access of one of the scopes, all of those that are not
1621
# specified are set to 'none'.
@@ -91,40 +96,54 @@ jobs:
9196
ref: ${{ inputs.checkout_ref }}
9297
sparse-checkout: install/kubernetes/cilium
9398

99+
- name: Merge chart value overrides
100+
id: values
101+
shell: bash
102+
run: |
103+
base_changes=$(cat <<EOF
104+
{
105+
"image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-ci",
106+
"image.tag": "${{ inputs.image_tag }}",
107+
"image.digest": "",
108+
"image.useDigest": false,
109+
"preflight.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-ci",
110+
"preflight.image.tag": "${{ inputs.image_tag }}",
111+
"preflight.image.digest": "",
112+
"preflight.image.useDigest": false,
113+
"operator.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/operator",
114+
"operator.image.suffix": "-ci",
115+
"operator.image.genericDigest": "",
116+
"operator.image.azureDigest": "",
117+
"operator.image.awsDigest": "",
118+
"operator.image.alibabacloudDigest": "",
119+
"operator.image.useDigest": false,
120+
"operator.image.tag": "${{ inputs.image_tag }}",
121+
"hubble.relay.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/hubble-relay-ci",
122+
"hubble.relay.image.tag": "${{ inputs.image_tag }}",
123+
"hubble.relay.image.digest": "",
124+
"hubble.relay.image.useDigest": false,
125+
"clustermesh.apiserver.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/clustermesh-apiserver-ci",
126+
"clustermesh.apiserver.image.tag": "${{ inputs.image_tag }}",
127+
"clustermesh.apiserver.image.digest": "",
128+
"clustermesh.apiserver.image.useDigest": false
129+
}
130+
EOF
131+
)
132+
133+
merged_changes=$(jq -cn \
134+
--argjson base "${base_changes}" \
135+
--argjson extra '${{ inputs.extra_values_file_changes }}' \
136+
'$base + $extra')
137+
138+
echo "json=${merged_changes}" >> "${GITHUB_OUTPUT}"
139+
94140
- name: Push charts
95141
uses: cilium/reusable-workflows/.github/actions/push-helm-chart@6ae27958f2f37545bf48e44106b73df05b1f6d12 # v0.1.0
96142
with:
97143
name: cilium
98144
path: install/kubernetes/cilium
99145
version: ${{ needs.setup-charts.outputs.chart-version }}
100-
values_file_changes: |
101-
{
102-
103-
"image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-ci",
104-
"image.tag": "${{ inputs.image_tag }}",
105-
"image.digest": "",
106-
"image.useDigest": false,
107-
"preflight.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-ci",
108-
"preflight.image.tag": "${{ inputs.image_tag }}",
109-
"preflight.image.digest": "",
110-
"preflight.image.useDigest": false,
111-
"operator.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/operator",
112-
"operator.image.suffix": "-ci",
113-
"operator.image.genericDigest": "",
114-
"operator.image.azureDigest": "",
115-
"operator.image.awsDigest": "",
116-
"operator.image.alibabacloudDigest": "",
117-
"operator.image.useDigest": false,
118-
"operator.image.tag": "${{ inputs.image_tag }}",
119-
"hubble.relay.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/hubble-relay-ci",
120-
"hubble.relay.image.tag": "${{ inputs.image_tag }}",
121-
"hubble.relay.image.digest": "",
122-
"hubble.relay.image.useDigest": false,
123-
"clustermesh.apiserver.image.repository": "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/clustermesh-apiserver-ci",
124-
"clustermesh.apiserver.image.tag": "${{ inputs.image_tag }}",
125-
"clustermesh.apiserver.image.digest": "",
126-
"clustermesh.apiserver.image.useDigest": false
127-
}
146+
values_file_changes: ${{ steps.values.outputs.json }}
128147
registry: ${{ env.REGISTRY_DEV }}
129148
registry_namespace: ${{ env.CHARTS_ORGANIZATION_DEV }}
130149
registry_username: ${{ secrets.QUAY_CHARTS_DEV_USERNAME }}

0 commit comments

Comments
 (0)