25 lines
878 B
Bash
Executable File
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
|