diff --git a/Makefile b/Makefile index 6a456f494..937110810 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ pull-scripts: TARGETS := prepare patch charts clean validate template $(TARGETS): - @ls ./bin/charts-build-scripts 1>/dev/null 2>/dev/null || ./scripts/pull-scripts - ./bin/charts-build-scripts $@ + @./scripts/pull-scripts + @./bin/charts-build-scripts $@ .PHONY: $(TARGETS) \ No newline at end of file diff --git a/packages/README.md b/packages/README.md index 4d4f89fed..587b3a845 100755 --- a/packages/README.md +++ b/packages/README.md @@ -5,7 +5,8 @@ A Package represents a grouping of one or more Helm Charts. It is declared within `packages//package.yaml` with the following spec: ```text -packageVersion: 0 +version: # The version of the generated chart. This value will override the upstream chart's version. Mutually exclusive with packageVersion +packageVersion: 1 # The value range is from 1 to 99. Mutually exclusive with version workingDir: # The directory within your package that will contain your working copy of the chart (e.g. charts) url: # A URL pointing to an UpstreamConfiguration subdirectory: # Optional field for a specific subdirectory for all upstreams diff --git a/scripts/pull-scripts b/scripts/pull-scripts index ba88dd344..c70b7c500 100755 --- a/scripts/pull-scripts +++ b/scripts/pull-scripts @@ -5,19 +5,42 @@ cd $(dirname $0) source ./version +if ls ../bin/charts-build-scripts 1>/dev/null 2>/dev/null; then + CURRENT_SCRIPT_VERSION=$(../bin/charts-build-scripts --version | cut -d' ' -f3) + if [[ "${CURRENT_SCRIPT_VERSION}" == "${CHARTS_BUILD_SCRIPT_VERSION}" ]]; then + exit 0 + fi +fi + echo "Pulling in charts-build-scripts version ${CHARTS_BUILD_SCRIPTS_REPO}@${CHARTS_BUILD_SCRIPT_VERSION}" rm -rf ../bin cd .. -rm -rf charts-build-scripts -git clone --depth 1 --branch $CHARTS_BUILD_SCRIPT_VERSION $CHARTS_BUILD_SCRIPTS_REPO 2>/dev/null +mkdir -p bin +ARCH=$(go version | cut -d' ' -f4 | cut -d'/' -f1) +if [[ ${ARCH} == "linux" ]]; then + BINARY_NAME=charts-build-scripts +else + BINARY_NAME=charts-build-scripts-${ARCH} +fi +curl -s -L ${CHARTS_BUILD_SCRIPTS_REPO%.git}/releases/download/${CHARTS_BUILD_SCRIPT_VERSION}/${BINARY_NAME} --output bin/charts-build-scripts +if ! [[ -f bin/charts-build-scripts ]] || [[ $(cat bin/charts-build-scripts) == "Not Found" ]]; then + rm bin/charts-build-scripts; + + # Fall back to old process + echo "Building binary locally..." + rm -rf charts-build-scripts + git clone --depth 1 --branch $CHARTS_BUILD_SCRIPT_VERSION $CHARTS_BUILD_SCRIPTS_REPO 2>/dev/null -cd charts-build-scripts -./scripts/build -mv bin ../bin -cd .. + cd charts-build-scripts + ./scripts/build + mv bin .. + cd .. + rm -rf charts-build-scripts +else + echo "${BINARY_NAME} => ./bin/charts-build-scripts" +fi -rm -rf charts-build-scripts chmod +x ./bin/charts-build-scripts -./bin/charts-build-scripts --version \ No newline at end of file +./bin/charts-build-scripts --version