From e84ca617cfe47b37dc6a779006a55c2514e831a0 Mon Sep 17 00:00:00 2001 From: "M. J. Fromberger" Date: Tue, 7 Jun 2022 12:25:16 -0700 Subject: [PATCH] Set up automation settings for the v0.36.x backport branch. (#8714) - Add Mergify settings for backport labels. - Add e2e nightly workflow for v0.36.x. - Update documentation on e2e workflows. - Add v0.36.x to the Dependabot configs. --- .github/dependabot.yml | 23 +++++++- .github/mergify.yml | 8 +++ .github/workflows/e2e-nightly-34x.yml | 7 +-- .github/workflows/e2e-nightly-35x.yml | 6 +- .github/workflows/e2e-nightly-36x.yml | 74 ++++++++++++++++++++++++ .github/workflows/e2e-nightly-master.yml | 5 +- 6 files changed, 113 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/e2e-nightly-36x.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 0108f040d..23e73e745 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,6 +11,17 @@ updates: - T:dependencies - S:automerge + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + day: monday + target-branch: "v0.34.x" + open-pull-requests-limit: 10 + labels: + - T:dependencies + - S:automerge + - package-ecosystem: github-actions directory: "/" schedule: @@ -27,7 +38,7 @@ updates: schedule: interval: weekly day: monday - target-branch: "v0.34.x" + target-branch: "v0.36.x" open-pull-requests-limit: 10 labels: - T:dependencies @@ -73,3 +84,13 @@ updates: labels: - T:dependencies - S:automerge + + - package-ecosystem: gomod + directory: "/" + schedule: + interval: daily + target-branch: "v0.36.x" + open-pull-requests-limit: 10 + labels: + - T:dependencies + - S:automerge diff --git a/.github/mergify.yml b/.github/mergify.yml index d13fb851f..6c703b8ce 100644 --- a/.github/mergify.yml +++ b/.github/mergify.yml @@ -33,3 +33,11 @@ pull_request_rules: backport: branches: - v0.35.x + - name: backport patches to v0.36.x branch + conditions: + - base=master + - label=S:backport-to-v0.36.x + actions: + backport: + branches: + - v0.36.x diff --git a/.github/workflows/e2e-nightly-34x.yml b/.github/workflows/e2e-nightly-34x.yml index 82265a258..db4268dda 100644 --- a/.github/workflows/e2e-nightly-34x.yml +++ b/.github/workflows/e2e-nightly-34x.yml @@ -1,8 +1,7 @@ -# Runs randomly generated E2E testnets nightly -# on the 0.34.x release branch +# Runs randomly generated E2E testnets nightly on the 0.34.x branch. -# !! If you change something in this file, you probably want -# to update the e2e-nightly-master workflow as well! +# !! This file should be kept in sync with the e2e-nightly-master.yml file, +# modulo changes to the version labels. name: e2e-nightly-34x on: diff --git a/.github/workflows/e2e-nightly-35x.yml b/.github/workflows/e2e-nightly-35x.yml index d737f69c3..04cd6c524 100644 --- a/.github/workflows/e2e-nightly-35x.yml +++ b/.github/workflows/e2e-nightly-35x.yml @@ -1,7 +1,7 @@ -# Runs randomly generated E2E testnets nightly on v0.35.x. +# Runs randomly generated E2E testnets nightly on the v0.35.x branch. -# !! If you change something in this file, you probably want -# to update the e2e-nightly-master workflow as well! +# !! This file should be kept in sync with the e2e-nightly-master.yml file, +# modulo changes to the version labels. name: e2e-nightly-35x on: diff --git a/.github/workflows/e2e-nightly-36x.yml b/.github/workflows/e2e-nightly-36x.yml new file mode 100644 index 000000000..2067602e7 --- /dev/null +++ b/.github/workflows/e2e-nightly-36x.yml @@ -0,0 +1,74 @@ +# Runs randomly generated E2E testnets nightly on the v0.36.x branch. + +# !! This file should be kept in sync with the e2e-nightly-master.yml file, +# modulo changes to the version labels. + +name: e2e-nightly-36x +on: + schedule: + - cron: '0 2 * * *' + +jobs: + e2e-nightly-test: + # Run parallel jobs for the listed testnet groups (must match the + # ./build/generator -g flag) + strategy: + fail-fast: false + matrix: + group: ['00', '01', '02', '03'] + runs-on: ubuntu-latest + timeout-minutes: 60 + steps: + - uses: actions/setup-go@v3 + with: + go-version: '1.18' + + - uses: actions/checkout@v3 + with: + ref: 'v0.36.x' + + - name: Build + working-directory: test/e2e + # Run make jobs in parallel, since we can't run steps in parallel. + run: make -j2 docker generator runner tests + + - name: Generate testnets + working-directory: test/e2e + # When changing -g, also change the matrix groups above + run: ./build/generator -g 4 -d networks/nightly + + - name: Run testnets in group ${{ matrix.group }} + working-directory: test/e2e + run: ./run-multiple.sh networks/nightly/*-group${{ matrix.group }}-*.toml + + e2e-nightly-fail-2: + needs: e2e-nightly-test + if: ${{ failure() }} + runs-on: ubuntu-latest + steps: + - name: Notify Slack on failure + uses: rtCamp/action-slack-notify@12e36fc18b0689399306c2e0b3e0f2978b7f1ee7 + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + SLACK_CHANNEL: tendermint-internal + SLACK_USERNAME: Nightly E2E Tests + SLACK_ICON_EMOJI: ':skull:' + SLACK_COLOR: danger + SLACK_MESSAGE: Nightly E2E tests failed on v0.36.x + SLACK_FOOTER: '' + + e2e-nightly-success: # may turn this off once they seem to pass consistently + needs: e2e-nightly-test + if: ${{ success() }} + runs-on: ubuntu-latest + steps: + - name: Notify Slack on success + uses: rtCamp/action-slack-notify@12e36fc18b0689399306c2e0b3e0f2978b7f1ee7 + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + SLACK_CHANNEL: tendermint-internal + SLACK_USERNAME: Nightly E2E Tests + SLACK_ICON_EMOJI: ':white_check_mark:' + SLACK_COLOR: good + SLACK_MESSAGE: Nightly E2E tests passed on v0.36.x + SLACK_FOOTER: '' diff --git a/.github/workflows/e2e-nightly-master.yml b/.github/workflows/e2e-nightly-master.yml index 7a02ad143..7fac05f2d 100644 --- a/.github/workflows/e2e-nightly-master.yml +++ b/.github/workflows/e2e-nightly-master.yml @@ -1,7 +1,8 @@ # Runs randomly generated E2E testnets nightly on master -# !! If you change something in this file, you probably want -# to update the e2e-nightly-34x workflow as well! +# !! Relevant changes to this file should be propagated to the e2e-nightly-x +# files for the supported backport branches, when appropriate, modulo version +# markers. name: e2e-nightly-master on: