Fix issue in helm chat pushing

From master and release-v1.2.0 branch we will be
pushing the canary charts. when we are doing the release
i.e v1.2.2 from release-v1.2.0 branch we will replace
all canary to released tag v1.2.2 and push helm charts
for v.1.2.2 and will revert back the changes in
release-v1.2.0 branch push canary tagged charts(
this will be same logic as pushing the container image)

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
This commit is contained in:
Madhu Rajanna 2019-10-01 14:16:01 +05:30 committed by Madhu Rajanna
parent 52c4d29f65
commit 50268d5947

View File

@ -2,37 +2,35 @@
push_helm_charts() { push_helm_charts() {
PACKAGE=$1 PACKAGE=$1
CHANGED=0 VERSION=${ENV_CSI_IMAGE_VERSION//v/} # Set version (without v prefix)
VERSION=${ENV_CSI_IMAGE_VERSION//v} # Set version (without v prefix)
# Always run when version is canary, when versioned only when the package doesn't exist yet # update information in Chart.yaml if the branch is not master
if [ ! -f "tmp/csi-charts/docs/$PACKAGE/ceph-csi-$PACKAGE-$VERSION.tgz" ] && [ -z "$VERSION" ]; then if [ "$TRAVIS_BRANCH" != "master" ]; then
CHANGED=1
# When version defined it is a release, not a canary build
if [ -z "$VERSION" ]; then
# Replace appVersion: canary and version: *-canary with the actual version # Replace appVersion: canary and version: *-canary with the actual version
sed -i "s/\(\s.*canary\)/ $VERSION/" "charts/ceph-csi-$PACKAGE/Chart.yaml" sed -i "s/\(\s.*canary\)/ $VERSION/" "charts/ceph-csi-$PACKAGE/Chart.yaml"
if [[ "$VERSION" == *"canary"* ]]; then
# Replace master with the version branch # Replace master with the version branch
sed -i "s/tree\/master/tree\/release-v$VERSION/" "charts/ceph-csi-$PACKAGE/Chart.yaml" sed -i "s/master/$TRAVIS_BRANCH/" "charts/ceph-csi-$PACKAGE/Chart.yaml"
else
# This is not a canary release, replace master with the tagged branch
sed -i "s/master/v$VERSION/" "charts/ceph-csi-$PACKAGE/Chart.yaml"
fi
fi fi
ln -s helm charts/ceph-csi-"$PACKAGE"
mkdir -p tmp/csi-charts/docs/"$PACKAGE" mkdir -p tmp/csi-charts/docs/"$PACKAGE"
pushd tmp/csi-charts/docs/"$PACKAGE" >/dev/null pushd tmp/csi-charts/docs/"$PACKAGE" >/dev/null
helm init --client-only helm init --client-only
helm package ../../../../charts/ceph-csi-"$PACKAGE" helm package ../../../../charts/ceph-csi-"$PACKAGE"
popd >/dev/null popd >/dev/null
fi
if [ $CHANGED -eq 1 ]; then
pushd tmp/csi-charts/docs >/dev/null pushd tmp/csi-charts/docs >/dev/null
helm repo index . helm repo index .
git add --all :/ && git commit -m "Update repo" git add --all :/ && git commit -m "Update for helm charts $PACKAGE-$VERSION"
git push https://"$GITHUB_TOKEN"@github.com/ceph/csi-charts git push https://"$GITHUB_TOKEN"@github.com/ceph/csi-charts
popd >/dev/null popd >/dev/null
fi
} }
if [ "${TRAVIS_BRANCH}" == 'master' ]; then if [ "${TRAVIS_BRANCH}" == 'master' ]; then