From d2dfea8ebb59c2be789e627b40c76442ef7ba3ae Mon Sep 17 00:00:00 2001 From: Bilal <39002942+byhlel@users.noreply.github.com> Date: Thu, 26 Sep 2024 05:21:09 +0000 Subject: [PATCH] fix: now release automatically does helm push and update its tag --- .github/workflows/main.yml | 37 +++++++++++++++++++++++++++ .github/workflows/release-master.yaml | 14 +++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b16b17d35..045ab4fb6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,6 +36,8 @@ jobs: run : | make ./hack/copyright-check.sh + + - name: Build Kmesh shell: bash run: | @@ -67,3 +69,38 @@ jobs: flags: unittests fail_ci_if_error: false verbose: true + helm: + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install Helm + uses: azure/setup-helm@v3 + with: + version: '3.12.3' + token: ${{ secrets.GH_PAT }} + + - name: Check for Changes + id: check_changes + run: | + git diff --exit-code deploy/charts/kmesh-helm/Chart.yaml || echo "changed" >> $GITHUB_ENV + + - name: Bump Version + if: env.changed == 'changed' + run: | + # With this we read the current version + current_version=$(grep 'version:' deploy/charts/kmesh-helm/Chart.yaml | awk '{print $2}') + IFS='.' read -r major minor patch <<< "$current_version" + + # Now we increment the patch version + new_patch=$((patch + 1)) + new_version="$major.$minor.$new_patch" + + # And don't forget to update Chart.yaml with the new version + sed -i "s/version: .*/version: $new_version/" deploy/charts/kmesh-helm/Chart.yaml + + - name: Update Image Tag + if: env.changed == 'changed' + run: | + sed -i "s/image: .*/image: my-image:new_version/" deploy/kubernetes/deployment.yaml diff --git a/.github/workflows/release-master.yaml b/.github/workflows/release-master.yaml index 9e679826a..261823dc4 100644 --- a/.github/workflows/release-master.yaml +++ b/.github/workflows/release-master.yaml @@ -86,7 +86,19 @@ jobs: with: version: '3.12.3' token: ${{ secrets.GH_PAT }} - + + - name: Set Version + id: set_version + run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + + - name: Update Chart.yaml + run: | + sed -i "s/version: .*/version: $VERSION/" deploy/charts/kmesh-helm/Chart.yaml + + - name: Update Image Tag + run: | + sed -i "s/image: .*/image: my-image:$VERSION/" deploy/kubernetes/deployment.yaml + - name: Build and Push the Helm Charts to GitHub Container Registry uses: JimCronqvist/action-helm-chart-repo@master chart-path: deploy/charts/kmesh-helm