#!/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