helm-charts/.github/actions/override-chart-deps/action.yaml
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs bcded223a6
More CI improvements
2022-07-29 21:12:02 +02:00

35 lines
1.1 KiB
YAML

name: "Override chart dependencies"
description: "Overrides the dependencies for a Helm chart"
inputs:
chart:
required: true
description: "Which chart to override the dependencies for"
overrides:
required: true
description: "A JSON encoded list of dependency overrides"
runs:
using: "composite"
steps:
- name: Override dependencies
shell: bash
run: |
overrides=( $(yq --null-input e -o=j -I=0 '${{ inputs.overrides }}[]' ) )
chartFile="charts/${{ matrix.chart }}/Chart.yaml"
if [[ ! -f ${chartFile} ]]; then
echo "Could not find ${chartFile}"!
exit 1
fi
for override in "${overrides[@]}"; do
name=$(echo "$override" | yq e '.name' -)
repository=$(echo "$override" | yq e '.repository' -)
version=$(echo "$override" | yq e '.version' -)
yq -i "(.dependencies[] | select(.name == \"$name\").repository) |= \"$repository\"" "${chartFile}"
yq -i "(.dependencies[] | select(.name == \"$name\").version) |= \"$version\"" "${chartFile}"
done
echo "Resulting chart:"
cat ${chartFile}