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>
(cherry picked from commit 50268d5947)
This commit is contained in:
Madhu Rajanna 2019-10-01 14:16:01 +05:30 committed by Madhu Rajanna
parent 6128c530ac
commit 56bef16ad1
2 changed files with 24 additions and 34 deletions

View File

@ -14,10 +14,7 @@ services:
language: go language: go
branches: branches:
only: only:
<<<<<<< HEAD
- release-v1.2.0 - release-v1.2.0
=======
>>>>>>> 52c4d29f6... Remove csi-v0.3 from deploy.sh
- master - master
go: 1.12.x go: 1.12.x

View File

@ -2,46 +2,39 @@
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 # 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 [[ "$VERSION" == *"canary"* ]]; then
if [ -z "$VERSION" ]; then # Replace master with the version branch
# Replace appVersion: canary and version: *-canary with the actual version sed -i "s/master/$TRAVIS_BRANCH/" "charts/ceph-csi-$PACKAGE/Chart.yaml"
sed -i "s/\(\s.*canary\)/$VERSION/" "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 fi
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 mkdir -p tmp/csi-charts/docs/"$PACKAGE"
pushd tmp/csi-charts/docs >/dev/null pushd tmp/csi-charts/docs/"$PACKAGE" >/dev/null
helm repo index . helm init --client-only
git add --all :/ && git commit -m "Update repo" helm package ../../../../charts/ceph-csi-"$PACKAGE"
git push https://"$GITHUB_TOKEN"@github.com/ceph/csi-charts popd >/dev/null
popd >/dev/null
fi 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 if [ "${TRAVIS_BRANCH}" == 'release-v1.2.0' ]; then
export ENV_CSI_IMAGE_VERSION='v1.2-canary' 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 else
echo "!!! Branch ${TRAVIS_BRANCH} is not a deployable branch; exiting" echo "!!! Branch ${TRAVIS_BRANCH} is not a deployable branch; exiting"
exit 0 # Exiting 0 so that this isn't marked as failing exit 0 # Exiting 0 so that this isn't marked as failing