# Runs randomly generated E2E testnets nightly. name: e2e-nightly on: workflow_dispatch: # allow running workflow manually 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'] # todo: expand to multiple versions after 0.35 release branch: ['master', 'v0.34.x'] runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/setup-go@v2 with: go-version: '1.15' - uses: actions/checkout@v2 with: ref: ${{ matrix.branch}} - 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 - 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: needs: e2e-nightly-test if: ${{ failure() }} runs-on: ubuntu-latest steps: - name: Notify Slack on failure uses: rtCamp/action-slack-notify@ae4223259071871559b6e9d08b24a63d71b3f0c0 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 SLACK_FOOTER: ''