Files
helm-charts-hardened/.github/scripts/update-versions.sh
T
2023-04-26 16:20:07 +02:00

25 lines
907 B
Bash
Executable File

#!/usr/bin/env bash
SCRIPT="$(readlink -f "$0")"
SCRIPTPATH="$(dirname "${SCRIPT}")"
CHARTJSON="${SCRIPTPATH}/../tests/charts.json"
jq -r ".[].name" "${CHARTJSON}" | while read -r CHART; do
ENTRYQUERY='.[] | select(.name == "'$CHART'")'
REPO_URL="$(jq -r "$ENTRYQUERY | .repo" "${CHARTJSON}")"
VERSION="$(jq -r "$ENTRYQUERY | .version" "${CHARTJSON}")"
echo Processing: "${CHART}"
echo " repo: ${REPO_URL}"
echo " current version: ${VERSION}"
helm repo add "${CHART}" "${REPO_URL}" > /dev/null
helm repo update "${CHART}" > /dev/null
LATEST_VERSION=$(helm search repo --regexp "${CHART}/${CHART}\v" -o json | jq -r '.[0].version')
echo " latest version: ${LATEST_VERSION}"
if [ "x${VERSION}" != "x${LATEST_VERSION}" ]; then
echo " New version found!"
jq "(${ENTRYQUERY}).version |= \"${LATEST_VERSION}\"" "${CHARTJSON}" > /tmp/$$
mv /tmp/$$ "${CHARTJSON}"
fi
done