KubeZero/scripts/publish.sh

60 lines
1.6 KiB
Bash
Raw Normal View History

2020-05-01 15:33:41 +00:00
#!/bin/bash
2021-01-21 10:53:53 +00:00
set -eu
2020-05-01 15:33:41 +00:00
CHARTS=${1:-'.*'}
FORCE=${2:-''}
2020-05-01 15:33:41 +00:00
# all credits go to the argoproj Helm guys https://github.com/argoproj/argo-helm
SRCROOT="$(cd "$(dirname "$0")/.." && pwd)"
2020-08-20 14:55:49 +00:00
GIT_PUSH=${GIT_PUSH:-true}
2020-05-01 15:33:41 +00:00
[[ "$(git branch --show-current)" == "stable" || -n "$FORCE" ]] || { echo "Helm packages should only be built from stable branch !"; exit 1; }
2021-01-21 10:53:53 +00:00
TMPDIR=$(mktemp -d kubezero-repo.XXX)
mkdir -p $TMPDIR/stage && trap 'rm -rf $TMPDIR' ERR EXIT
2021-01-21 10:53:53 +00:00
git clone -b gh-pages ssh://git@git.zero-downtime.net:22000/ZeroDownTime/KubeZero.git $TMPDIR/repo
2020-05-06 17:23:52 +00:00
# Reset all
2021-01-21 10:53:53 +00:00
# rm -rf $TMPDIR/repo/*tgz $TMPDIR/repo/index.yaml
2020-05-01 15:33:41 +00:00
helm repo add argoproj https://argoproj.github.io/argo-helm
helm repo add jetstack https://charts.jetstack.io
helm repo add uswitch https://uswitch.github.io/kiam-helm-charts/charts/
2020-07-07 12:17:20 +00:00
helm repo update
2020-05-01 15:33:41 +00:00
for dir in $(find -L $SRCROOT/charts -mindepth 1 -maxdepth 1 -type d);
2020-05-01 15:33:41 +00:00
do
name=$(basename $dir)
[[ $name =~ $CHARTS ]] || continue
2020-05-01 15:33:41 +00:00
if [ $(helm dep list $dir 2>/dev/null| wc -l) -gt 1 ]
then
echo "Processing chart dependencies"
2020-07-07 12:17:20 +00:00
rm -rf $dir/tmpcharts
helm dependency update --skip-refresh $dir
2020-05-01 15:33:41 +00:00
fi
echo "Processing $dir"
helm lint $dir || true
2021-01-21 10:53:53 +00:00
helm --debug package -d $TMPDIR/stage $dir
2020-05-01 15:33:41 +00:00
done
2021-01-21 10:53:53 +00:00
# Do NOT overwrite existing charts
if [ -n "$FORCE" ]; then
cp $TMPDIR/stage/*.tgz $TMPDIR/repo
else
cp -n $TMPDIR/stage/*.tgz $TMPDIR/repo
fi
2020-05-01 15:33:41 +00:00
2021-01-21 10:53:53 +00:00
cd $TMPDIR/repo
helm repo index .
git status
2020-05-01 15:33:41 +00:00
if [ "$GIT_PUSH" == "true" ]
then
2021-01-21 10:53:53 +00:00
git add . && git commit -m "Publish charts" && git push ssh://git@git.zero-downtime.net:22000/ZeroDownTime/KubeZero.git gh-pages
2020-05-01 15:33:41 +00:00
fi
2021-01-21 10:53:53 +00:00
cd -
rm -rf $TMPDIR