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