1
0
mirror of https://github.com/helm/chartmuseum.git synced 2026-02-05 15:45:50 +01:00
Files
chartmuseum/scripts/setup-test-environment.sh

68 lines
2.1 KiB
Bash
Executable File

#!/bin/bash -ex
HELM_VERSION="3.12.1"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR/../
export PATH="$PWD/testbin:$PATH"
main() {
export XDG_CACHE_HOME=${PWD}/.helm/cache && mkdir -p ${XDG_CACHE_HOME}
export XDG_CONFIG_HOME=${PWD}/.helm/config && mkdir -p ${XDG_CONFIG_HOME}
export XDG_DATA_HOME=${PWD}/.helm/data && mkdir -p ${XDG_DATA_HOME}
install_helm
package_test_charts
}
install_helm() {
if [ ! -f "testbin/helm" ]; then
mkdir -p testbin/
[ "$(uname)" == "Darwin" ] && PLATFORM="darwin" || PLATFORM="linux"
ARCH="amd64"
if [ `uname -m` == "arm64" ]; then
ARCH="arm64"
fi
TARBALL="helm-v${HELM_VERSION}-${PLATFORM}-${ARCH}.tar.gz"
wget "https://get.helm.sh/${TARBALL}" || \
curl -O "https://get.helm.sh/${TARBALL}"
tar -C testbin/ -xzf $TARBALL
rm -f $TARBALL
pushd testbin/
UNCOMPRESSED_DIR="$(find . -mindepth 1 -maxdepth 1 -type d)"
mv $UNCOMPRESSED_DIR/helm .
rm -rf $UNCOMPRESSED_DIR
chmod +x ./helm
popd
# remove any repos that come out-of-the-box (i.e. "stable")
helm repo list | sed -n '1!p' | awk '{print $1}' | xargs helm repo remove || true
fi
}
package_test_charts() {
pushd testdata/charts/
for d in $(find . -maxdepth 1 -mindepth 1 -type d); do
pushd $d
helm package --sign --key helm-test --keyring ../../pgp/helm-test-key.secret .
popd
done
# add another version to repo for metric tests
helm package --sign --key helm-test --keyring ../pgp/helm-test-key.secret --version 0.2.0 -d mychart/ mychart/.
# add another version for per chart limit test
helm package --sign --key helm-test --keyring ../pgp/helm-test-key.secret --version 0.0.1 -d mychart/ mychart/.
helm package --sign --key helm-test --keyring ../pgp/helm-test-key.secret --version 0.0.1 -d mychart-service/ mychart-service/.
popd
pushd testdata/badcharts/
for d in $(find . -maxdepth 1 -mindepth 1 -type d); do
pushd $d
helm package .
popd
done
popd
}
main