Files
helm-charts-hardened/.github/workflows/scripts/update-versions.sh
T
2023-04-25 10:04:38 +02:00

25 lines
878 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