From 50268d594773715ad498630163c06137d546e362 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 1 Oct 2019 14:16:01 +0530 Subject: [PATCH] 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 --- deploy.sh | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/deploy.sh b/deploy.sh index 316606a87..04985d4c4 100755 --- a/deploy.sh +++ b/deploy.sh @@ -2,37 +2,35 @@ push_helm_charts() { 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 - if [ ! -f "tmp/csi-charts/docs/$PACKAGE/ceph-csi-$PACKAGE-$VERSION.tgz" ] && [ -z "$VERSION" ]; then - CHANGED=1 + # update information in Chart.yaml if the branch is not master + if [ "$TRAVIS_BRANCH" != "master" ]; then + # Replace appVersion: canary and version: *-canary with the actual version + sed -i "s/\(\s.*canary\)/ $VERSION/" "charts/ceph-csi-$PACKAGE/Chart.yaml" - # 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 - sed -i "s/\(\s.*canary\)/$VERSION/" "charts/ceph-csi-$PACKAGE/Chart.yaml" + if [[ "$VERSION" == *"canary"* ]]; then + # Replace master with the version branch + 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" - # Replace master with the version branch - sed -i "s/tree\/master/tree\/release-v$VERSION/" "charts/ceph-csi-$PACKAGE/Chart.yaml" - fi - - ln -s helm charts/ceph-csi-"$PACKAGE" - mkdir -p tmp/csi-charts/docs/"$PACKAGE" - pushd tmp/csi-charts/docs/"$PACKAGE" >/dev/null - helm init --client-only - helm package ../../../../charts/ceph-csi-"$PACKAGE" - popd >/dev/null + fi fi - if [ $CHANGED -eq 1 ]; then - pushd tmp/csi-charts/docs >/dev/null - helm repo index . - git add --all :/ && git commit -m "Update repo" - git push https://"$GITHUB_TOKEN"@github.com/ceph/csi-charts - popd >/dev/null - fi + mkdir -p tmp/csi-charts/docs/"$PACKAGE" + pushd tmp/csi-charts/docs/"$PACKAGE" >/dev/null + helm init --client-only + helm package ../../../../charts/ceph-csi-"$PACKAGE" + popd >/dev/null + + pushd tmp/csi-charts/docs >/dev/null + helm repo index . + git add --all :/ && git commit -m "Update for helm charts $PACKAGE-$VERSION" + git push https://"$GITHUB_TOKEN"@github.com/ceph/csi-charts + popd >/dev/null + } if [ "${TRAVIS_BRANCH}" == 'master' ]; then