# 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']
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: '^1.15.4'
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- 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@e9db0ef
|
|
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: ''
|