From b6456593ac43af02e7488213c549651e9a139604 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 08:32:46 +0100 Subject: [PATCH 01/15] feat: use separate commit flow for staging --- .github/workflows/kubernetes.yaml | 33 +++++++++++++++++++------------ 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 761c0e4..41f54f3 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -191,20 +191,27 @@ jobs: uses: mikefarah/yq@v4.30.8 with: cmd: yq '(.${{ github.event.deployment.payload.kubernetes.versionKey }} = "${{ needs.initialize.outputs.version }}")' -i remote/${{ inputs.deploymentRepoPath }}/values.yaml - - name: Commit deployment file + - name: Commit and push new tag run: | - cd remote - git config --global user.email "${{ inputs.botEmail }}" - git config --global user.name "${{ inputs.registryUsername }}" - git add . - git commit --allow-empty -m "chore(${{ github.event.deployment.payload.name }}): set ${{ github.event.deployment.payload.env }} version to ${{ needs.initialize.outputs.version }}" - - name: Push changes to ${{ inputs.deploymentRepoURL }} git repository - uses: ad-m/github-push-action@0fafdd62b84042d49ec0cb92d9cac7f7ce4ec79e - with: - repository: ${{ inputs.deploymentRepoURL }} - directory: remote - github_token: ${{ secrets.repoAccessToken }} - branch: main + set -euxo pipefail + git config user.email "dev.bot@parcellab.com" + git config user.name "parcellab-dev-bot" + git add .chart/${{ inputs.env }}/values.yaml + if git diff --cached --quiet; then + echo "No changes to commit" + exit 0 + fi + git commit -m "chore(deploy): set ${{ inputs.env }} image tag to ${{ needs.kubernetes.outputs.version }}" + + if [ "${{ inputs.env }}" = "staging" ]; then + echo "Commit new tag to staging" + NEW_SHA=$(git rev-parse HEAD) + git tag -fa staging -m "staging deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" + git push origin -f refs/tags/staging + else + echo "Commit new tag to ${{ inputs.env }}" + git push origin HEAD:main + fi - if: success() name: Successful ${{ github.event.deployment.payload.name }} deployment uses: chrnorm/deployment-status@v2 From ff942008c770f9559f551bdc31bb247424101c3a Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 08:55:50 +0100 Subject: [PATCH 02/15] fix env --- .github/workflows/kubernetes.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 41f54f3..5060f7b 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -191,25 +191,25 @@ jobs: uses: mikefarah/yq@v4.30.8 with: cmd: yq '(.${{ github.event.deployment.payload.kubernetes.versionKey }} = "${{ needs.initialize.outputs.version }}")' -i remote/${{ inputs.deploymentRepoPath }}/values.yaml - - name: Commit and push new tag run: | set -euxo pipefail + cd remote git config user.email "dev.bot@parcellab.com" git config user.name "parcellab-dev-bot" - git add .chart/${{ inputs.env }}/values.yaml + git add .chart/${{ github.event.deployment.payload.env }}/values.yaml if git diff --cached --quiet; then echo "No changes to commit" exit 0 fi - git commit -m "chore(deploy): set ${{ inputs.env }} image tag to ${{ needs.kubernetes.outputs.version }}" + git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.kubernetes.outputs.version }}" - if [ "${{ inputs.env }}" = "staging" ]; then + if [ "${{ github.event.deployment.payload.env }}" = "staging" ]; then echo "Commit new tag to staging" NEW_SHA=$(git rev-parse HEAD) git tag -fa staging -m "staging deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" git push origin -f refs/tags/staging else - echo "Commit new tag to ${{ inputs.env }}" + echo "Commit new tag to ${{ github.event.deployment.payload.env }}" git push origin HEAD:main fi - if: success() From 0aa7db7ff7b552d0c3e608106cbeb168c51aa2d4 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 09:04:32 +0100 Subject: [PATCH 03/15] fix action --- .github/workflows/kubernetes.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 5060f7b..3eeac8e 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -191,6 +191,7 @@ jobs: uses: mikefarah/yq@v4.30.8 with: cmd: yq '(.${{ github.event.deployment.payload.kubernetes.versionKey }} = "${{ needs.initialize.outputs.version }}")' -i remote/${{ inputs.deploymentRepoPath }}/values.yaml + - name: Commit and push new image tag run: | set -euxo pipefail cd remote From 569269580bb3c6dfea156004b9be38ebfe8fd6dd Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 09:15:48 +0100 Subject: [PATCH 04/15] fix version input --- .github/workflows/kubernetes.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 3eeac8e..ae80190 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -202,7 +202,7 @@ jobs: echo "No changes to commit" exit 0 fi - git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.kubernetes.outputs.version }}" + git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" if [ "${{ github.event.deployment.payload.env }}" = "staging" ]; then echo "Commit new tag to staging" From 52fbf39dd6648fc246f31d7dfdf1cedfbce3b40a Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 09:28:12 +0100 Subject: [PATCH 05/15] reverse the conditional to have same flow for test and staging --- .github/workflows/kubernetes.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index ae80190..684a8d3 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -204,14 +204,14 @@ jobs: fi git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" - if [ "${{ github.event.deployment.payload.env }}" = "staging" ]; then - echo "Commit new tag to staging" + if [ "${{ github.event.deployment.payload.env }}" != "prod" ]; then + echo "Commit new tag to ${{ github.event.deployment.payload.env }}" NEW_SHA=$(git rev-parse HEAD) - git tag -fa staging -m "staging deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" - git push origin -f refs/tags/staging + git tag -fa ${{ github.event.deployment.payload.env }} -m "${{ github.event.deployment.payload.env }} deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" + git push origin -f refs/tags/${{ github.event.deployment.payload.env }} else - echo "Commit new tag to ${{ github.event.deployment.payload.env }}" - git push origin HEAD:main + echo "Commit new tag to prod" + git push origin main fi - if: success() name: Successful ${{ github.event.deployment.payload.name }} deployment From 974315f3f7299d5f374bba66a890861369520359 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 09:29:30 +0100 Subject: [PATCH 06/15] adjust text --- .github/workflows/kubernetes.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 684a8d3..23b0eaa 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -205,12 +205,12 @@ jobs: git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" if [ "${{ github.event.deployment.payload.env }}" != "prod" ]; then - echo "Commit new tag to ${{ github.event.deployment.payload.env }}" + echo "Set new image tag to ${{ github.event.deployment.payload.env }}" NEW_SHA=$(git rev-parse HEAD) git tag -fa ${{ github.event.deployment.payload.env }} -m "${{ github.event.deployment.payload.env }} deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" git push origin -f refs/tags/${{ github.event.deployment.payload.env }} else - echo "Commit new tag to prod" + echo "Set new image tag to prod" git push origin main fi - if: success() From 073372face2bf43e528741a4cfa75ba57b7758ff Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 10:24:21 +0100 Subject: [PATCH 07/15] prettier --- .github/workflows/kubernetes.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 23b0eaa..5100345 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -203,7 +203,7 @@ jobs: exit 0 fi git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" - + if [ "${{ github.event.deployment.payload.env }}" != "prod" ]; then echo "Set new image tag to ${{ github.event.deployment.payload.env }}" NEW_SHA=$(git rev-parse HEAD) From 55f16615c909f85f6525cd4d42fcbd05fa0b1b52 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 14:15:35 +0100 Subject: [PATCH 08/15] implement useTags --- .github/workflows/deployment.yaml | 6 ++++++ .github/workflows/kubernetes.yaml | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index e7e4606..03318b6 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -9,6 +9,11 @@ on: required: true description: The author of the change that triggers the deployment type: string + useTags: + required: false + description: Push commits to env-named tags instead of main branch + detault: false + type: boolean containerContext: required: false default: . @@ -88,6 +93,7 @@ jobs: "description": ${{ toJSON(inputs.description) }}, "env": ${{ toJSON(inputs.env) }}, "name": "${{ inputs.appName }}", + "useTags": "${{ inputs.useTags }}" "container": { "context": "${{ inputs.containerContext }}", "file": "${{ inputs.Containerfile }}" diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 5100345..67c84fa 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -204,13 +204,12 @@ jobs: fi git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" - if [ "${{ github.event.deployment.payload.env }}" != "prod" ]; then + if [ "${{ github.event.deployment.payload.useTags }}" ]; then echo "Set new image tag to ${{ github.event.deployment.payload.env }}" NEW_SHA=$(git rev-parse HEAD) git tag -fa ${{ github.event.deployment.payload.env }} -m "${{ github.event.deployment.payload.env }} deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" git push origin -f refs/tags/${{ github.event.deployment.payload.env }} else - echo "Set new image tag to prod" git push origin main fi - if: success() From d834a49e9ba3fa302b2b4646690724e5a743f768 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Tue, 27 Jan 2026 14:44:43 +0100 Subject: [PATCH 09/15] fix default word --- .github/workflows/deployment.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 03318b6..540601f 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -9,11 +9,6 @@ on: required: true description: The author of the change that triggers the deployment type: string - useTags: - required: false - description: Push commits to env-named tags instead of main branch - detault: false - type: boolean containerContext: required: false default: . @@ -52,6 +47,11 @@ on: required: false description: The url where the application is served type: string + useTags: + required: false + description: Push commits to env-named tags instead of main branch + default: false + type: boolean versionKey: required: false type: string From 3a9e33ff7a4c28ac760602e63c9c470552fbeeaf Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Wed, 28 Jan 2026 08:50:09 +0100 Subject: [PATCH 10/15] use choise input instead --- .github/workflows/deployment.yaml | 13 ++++++++----- .github/workflows/kubernetes.yaml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 540601f..7eb7900 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -47,11 +47,14 @@ on: required: false description: The url where the application is served type: string - useTags: + pushTarget: required: false - description: Push commits to env-named tags instead of main branch - default: false - type: boolean + description: Push commits to env-named tags or to the main branch + type: choice + options: + - main-branch + - env-tag + default: main-branch versionKey: required: false type: string @@ -93,7 +96,7 @@ jobs: "description": ${{ toJSON(inputs.description) }}, "env": ${{ toJSON(inputs.env) }}, "name": "${{ inputs.appName }}", - "useTags": "${{ inputs.useTags }}" + "pushTarget": "${{ inputs.pushTarget }}" "container": { "context": "${{ inputs.containerContext }}", "file": "${{ inputs.Containerfile }}" diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 67c84fa..fc94805 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -204,7 +204,7 @@ jobs: fi git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" - if [ "${{ github.event.deployment.payload.useTags }}" ]; then + if [ "${{ github.event.deployment.payload.pushTarget }}" = "env-tag" ]; then echo "Set new image tag to ${{ github.event.deployment.payload.env }}" NEW_SHA=$(git rev-parse HEAD) git tag -fa ${{ github.event.deployment.payload.env }} -m "${{ github.event.deployment.payload.env }} deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" From 87cbd21b28dd7f9f897869423769b3ff1ef23ff6 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Wed, 28 Jan 2026 08:54:54 +0100 Subject: [PATCH 11/15] fix order --- .github/workflows/deployment.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 7eb7900..9a44113 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -29,6 +29,14 @@ on: required: false description: EKS namespace type: string + pushTarget: + required: false + description: Push commits to env-named tags or to the main branch + type: choice + options: + - main-branch + - env-tag + default: main-branch ref: required: false description: The github ref to deploy @@ -47,14 +55,6 @@ on: required: false description: The url where the application is served type: string - pushTarget: - required: false - description: Push commits to env-named tags or to the main branch - type: choice - options: - - main-branch - - env-tag - default: main-branch versionKey: required: false type: string From dc9a2dbbf00968f49b5e18a856583cc13094b33f Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Wed, 28 Jan 2026 09:01:42 +0100 Subject: [PATCH 12/15] use pushToEnvTag --- .github/workflows/deployment.yaml | 13 +++++-------- .github/workflows/kubernetes.yaml | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 9a44113..8b452a2 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -29,14 +29,11 @@ on: required: false description: EKS namespace type: string - pushTarget: + pushToEnvTag: required: false - description: Push commits to env-named tags or to the main branch - type: choice - options: - - main-branch - - env-tag - default: main-branch + description: Push commits to env-named tags instead of the main branch + type: boolean + default: false ref: required: false description: The github ref to deploy @@ -96,7 +93,6 @@ jobs: "description": ${{ toJSON(inputs.description) }}, "env": ${{ toJSON(inputs.env) }}, "name": "${{ inputs.appName }}", - "pushTarget": "${{ inputs.pushTarget }}" "container": { "context": "${{ inputs.containerContext }}", "file": "${{ inputs.Containerfile }}" @@ -105,6 +101,7 @@ jobs: "namespace": "${{ inputs.namespace }}", "versionKey": "${{ inputs.versionKey }}" }, + "pushToEnvTag": "${{ inputs.pushToEnvTag }}", "statusUrl": ${{ toJSON(steps.k8s.outputs.status-url) }}, "url": ${{ toJSON(steps.k8s.outputs.url) }} } diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index fc94805..32a0f7e 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -204,7 +204,7 @@ jobs: fi git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" - if [ "${{ github.event.deployment.payload.pushTarget }}" = "env-tag" ]; then + if [ "${{ github.event.deployment.payload.pushToEnvTag }}" = "env-tag" ]; then echo "Set new image tag to ${{ github.event.deployment.payload.env }}" NEW_SHA=$(git rev-parse HEAD) git tag -fa ${{ github.event.deployment.payload.env }} -m "${{ github.event.deployment.payload.env }} deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" From 8aa5ba80aadf64037d2bfb221895e5a84d86312e Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Wed, 28 Jan 2026 09:03:52 +0100 Subject: [PATCH 13/15] adjust condition --- .github/workflows/kubernetes.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index 32a0f7e..f997448 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -204,7 +204,7 @@ jobs: fi git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" - if [ "${{ github.event.deployment.payload.pushToEnvTag }}" = "env-tag" ]; then + if [ "${{ github.event.deployment.payload.pushToEnvTag }}" ]; then echo "Set new image tag to ${{ github.event.deployment.payload.env }}" NEW_SHA=$(git rev-parse HEAD) git tag -fa ${{ github.event.deployment.payload.env }} -m "${{ github.event.deployment.payload.env }} deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" From 044ce2eadcd9da6fb04e184a120497ca1d17a340 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Wed, 28 Jan 2026 09:52:40 +0100 Subject: [PATCH 14/15] use env to satisfy linter --- .github/workflows/kubernetes.yaml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index f997448..c83d429 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -195,23 +195,28 @@ jobs: run: | set -euxo pipefail cd remote - git config user.email "dev.bot@parcellab.com" - git config user.name "parcellab-dev-bot" - git add .chart/${{ github.event.deployment.payload.env }}/values.yaml + git config user.email "$GIT_USER_EMAIL" + git config user.name "$GIT_USER_NAME" + git add .chart/$ENV/values.yaml if git diff --cached --quiet; then echo "No changes to commit" exit 0 fi - git commit -m "chore(deploy): set ${{ github.event.deployment.payload.env }} image tag to ${{ needs.initialize.outputs.version }}" - - if [ "${{ github.event.deployment.payload.pushToEnvTag }}" ]; then - echo "Set new image tag to ${{ github.event.deployment.payload.env }}" + git commit -m "chore(deploy): set $ENV image tag to $VERSION" + if [ "$PUSH_TO_ENV_TAG" = "true" ]; then + echo "Set new image tag to $ENV" NEW_SHA=$(git rev-parse HEAD) - git tag -fa ${{ github.event.deployment.payload.env }} -m "${{ github.event.deployment.payload.env }} deploy ${{ needs.initialize.outputs.version }} (${NEW_SHA})" "${NEW_SHA}" - git push origin -f refs/tags/${{ github.event.deployment.payload.env }} + git tag -fa "$ENV" -m "$ENV deploy $VERSION ($NEW_SHA)" "$NEW_SHA" + git push origin -f "refs/tags/$ENV" else git push origin main fi + env: + GIT_USER_EMAIL: dev.bot@parcellab.com + GIT_USER_NAME: parcellab-dev-bot + ENV: ${{ github.event.deployment.payload.env }} + VERSION: ${{ needs.initialize.outputs.version }} + PUSH_TO_ENV_TAG: ${{ github.event.deployment.payload.pushToEnvTag }} - if: success() name: Successful ${{ github.event.deployment.payload.name }} deployment uses: chrnorm/deployment-status@v2 From c9a6f1c9db52bdb78fed8c28b33d8fa1060b6325 Mon Sep 17 00:00:00 2001 From: Kirill Plis Date: Wed, 28 Jan 2026 09:55:02 +0100 Subject: [PATCH 15/15] linter wasn't satisfied --- .github/workflows/kubernetes.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/kubernetes.yaml b/.github/workflows/kubernetes.yaml index c83d429..6aa6cae 100644 --- a/.github/workflows/kubernetes.yaml +++ b/.github/workflows/kubernetes.yaml @@ -197,7 +197,7 @@ jobs: cd remote git config user.email "$GIT_USER_EMAIL" git config user.name "$GIT_USER_NAME" - git add .chart/$ENV/values.yaml + git add ".chart/$ENV/values.yaml" if git diff --cached --quiet; then echo "No changes to commit" exit 0