# Runs randomly generated E2E testnets nightly on main # !! 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-main 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', "04"] runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/setup-go@v3 with: go-version: '1.18' - uses: actions/checkout@v3 - 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 5 -d networks/nightly/ - name: Run ${{ matrix.p2p }} p2p testnets 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: slackapi/slack-github-action@v1.22.0 env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK BRANCH: ${{ github.ref_name }} RUN_URL: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" COMMIT_URL: "${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}" with: payload: | { "blocks": [ { "type": "section", "text": { "type": "mrkdwn", "text": ":skull: Nightly E2E tests for `${{ env.BRANCH }}` failed. See the <${{ env.RUN_URL }}|run details> and the <${{ env.COMMIT_URL }}|commit> that caused the failure." } } ] }