From c7f26e47e48974bcda54af172c0aa4713d2a31cb Mon Sep 17 00:00:00 2001 From: Levi Schoen Date: Tue, 4 Apr 2023 14:18:22 -0700 Subject: [PATCH] feat: only deploy to internal testnet if version or genesis change --- .github/workflows/cd-internal-testnet.yml | 23 ++++++++++++++++++++++- ci/env/kava-internal-testnet/KAVA.VERSION | 1 + 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 ci/env/kava-internal-testnet/KAVA.VERSION diff --git a/.github/workflows/cd-internal-testnet.yml b/.github/workflows/cd-internal-testnet.yml index 1399f500..8df277e4 100644 --- a/.github/workflows/cd-internal-testnet.yml +++ b/.github/workflows/cd-internal-testnet.yml @@ -7,6 +7,25 @@ on: - completed jobs: + changes: + name: check for any deployment worthy changes + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: technote-space/get-diff-action@v6 + with: + PATTERNS: ci/env/kava-internal-testnet/*.* + FILES: | + ci/env/kava-internal-testnet/genesis.json + ci/env/kava-internal-testnet/KAVA.VERSION + - name: set output + run: | + if [[ $GIT_DIFF = '' ]]; + then + exit 1 + else + echo "success" + fi # in order: # enter standby (prevents autoscaling group from killing node during deploy) # stop kava @@ -15,7 +34,9 @@ jobs: # reset application database state (only done on internal testnet) reset-chain-to-zero-state: # only start cd pipeline if last ci run was successful - if: ${{ github.event.workflow_run.conclusion == 'success' }} + # and there are changes that need to be deployed + if: ${{ github.event.workflow_run.conclusion == 'success' && contains(needs.changes.result, 'success') }} + needs: [changes] uses: ./.github/workflows/cd-reset-internal-testnet.yml with: aws-region: us-east-1 diff --git a/ci/env/kava-internal-testnet/KAVA.VERSION b/ci/env/kava-internal-testnet/KAVA.VERSION new file mode 100644 index 00000000..3f796dda --- /dev/null +++ b/ci/env/kava-internal-testnet/KAVA.VERSION @@ -0,0 +1 @@ +6a1438fbe90dda2639f615260ad6562d594d4aee