mirror of https://git.rancher.io/charts
54 lines
1.7 KiB
Bash
Executable File
54 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
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 "Downloading charts-build-scripts version ${CHARTS_BUILD_SCRIPTS_REPO}@${CHARTS_BUILD_SCRIPT_VERSION}"
|
|
|
|
rm -rf ../bin
|
|
cd ..
|
|
|
|
mkdir -p bin
|
|
OS=$(go version | cut -d' ' -f4 | cut -d'/' -f1)
|
|
ARCH=$(go version | cut -d' ' -f4 | cut -d'/' -f2)
|
|
|
|
if [[ "$OS" == "windows" ]]; then
|
|
BINARY_NAME="charts-build-scripts_${OS}_${ARCH}.exe"
|
|
else
|
|
BINARY_NAME="charts-build-scripts_${OS}_${ARCH}"
|
|
fi
|
|
curl -s -L ${CHARTS_BUILD_SCRIPTS_REPO%.git}/releases/download/${CHARTS_BUILD_SCRIPT_VERSION}/${BINARY_NAME} --output bin/charts-build-scripts
|
|
|
|
# Fall back to binary name format from old release scheme
|
|
if ! [[ -f bin/charts-build-scripts ]] || [[ $(cat bin/charts-build-scripts) == "Not Found" ]]; then
|
|
echo "Falling back to old binary name format..."
|
|
rm bin/charts-build-scripts;
|
|
if [[ ${OS} == "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
|
|
fi
|
|
|
|
# If falling back to old binary name format did not work, fail
|
|
if ! [[ -f bin/charts-build-scripts ]] || [[ $(cat bin/charts-build-scripts) == "Not Found" ]]; then
|
|
echo "Failed to find charts-build-scripts binary"
|
|
rm bin/charts-build-scripts;
|
|
exit 1
|
|
fi
|
|
|
|
echo "${BINARY_NAME} => ./bin/charts-build-scripts"
|
|
|
|
chmod +x ./bin/charts-build-scripts
|
|
./bin/charts-build-scripts --version
|