From 56bef16ad17c3d04f9ab96b0701f5d14dc9a2864 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 (cherry picked from commit 50268d594773715ad498630163c06137d546e362) --- .travis.yml | 3 --- deploy.sh | 55 +++++++++++++++++++++++------------------------------ 2 files changed, 24 insertions(+), 34 deletions(-) diff --git a/.travis.yml b/.travis.yml index 696357d6e..9755cfdb1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,10 +14,7 @@ services: language: go branches: only: -<<<<<<< HEAD - release-v1.2.0 -======= ->>>>>>> 52c4d29f6... Remove csi-v0.3 from deploy.sh - master go: 1.12.x diff --git a/deploy.sh b/deploy.sh index 2b3b6a6c4..8d337183a 100755 --- a/deploy.sh +++ b/deploy.sh @@ -2,46 +2,39 @@ 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 + } -<<<<<<< HEAD if [ "${TRAVIS_BRANCH}" == 'release-v1.2.0' ]; then export ENV_CSI_IMAGE_VERSION='v1.2-canary' -======= -if [ "${TRAVIS_BRANCH}" == 'master' ]; then - export ENV_CSI_IMAGE_VERSION='canary' ->>>>>>> 52c4d29f6... Remove csi-v0.3 from deploy.sh else echo "!!! Branch ${TRAVIS_BRANCH} is not a deployable branch; exiting" exit 0 # Exiting 0 so that this isn't marked as failing