nightly-e2e-main #56
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Run integration tests nightly on main | |
# !! Relevant changes to this file should be propagated manual-integration.yml | |
name: nightly-e2e-main | |
on: | |
schedule: | |
# run every day at 03:00 UTC | |
# ┌───────────── minute (0 - 59) | |
# │ ┌───────────── hour (0 - 23) | |
# │ │ ┌───────────── day of the month (1 - 31) | |
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | |
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | |
# │ │ │ │ │ | |
# │ │ │ │ │ | |
# │ │ │ │ │ | |
# * * * * * | |
- cron: "0 3 * * *" | |
jobs: | |
happy-path-test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- uses: actions/checkout@v4 | |
- name: Checkout LFS objects | |
run: git lfs checkout | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" # The Go version to download (if necessary) and use. | |
- name: E2E happy-path test | |
run: go run ./tests/e2e/... --tc happy-path | |
changeover-test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- uses: actions/checkout@v4 | |
- name: Checkout LFS objects | |
run: git lfs checkout | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" # The Go version to download (if necessary) and use. | |
- name: E2E changeover test | |
run: go run ./tests/e2e/... --tc changeover | |
democracy-reward-test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- uses: actions/checkout@v4 | |
- name: Checkout LFS objects | |
run: git lfs checkout | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" # The Go version to download (if necessary) and use. | |
- name: E2E democracy-reward tests | |
run: go run ./tests/e2e/... --tc democracy-reward | |
democracy-test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- uses: actions/checkout@v4 | |
- name: Checkout LFS objects | |
run: git lfs checkout | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" # The Go version to download (if necessary) and use. | |
- name: E2E democracy tests | |
run: go run ./tests/e2e/... --tc democracy | |
slash-throttle-test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- uses: actions/checkout@v4 | |
- name: Checkout LFS objects | |
run: git lfs checkout | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" # The Go version to download (if necessary) and use. | |
- name: E2E slash-throttle tests | |
run: go run ./tests/e2e/... --tc slash-throttle | |
multiconsumer-test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 40 | |
steps: | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" | |
- uses: actions/checkout@v4 | |
- name: Checkout LFS objects | |
run: git lfs checkout | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.20" # The Go version to download (if necessary) and use. | |
- name: E2E multi-consumer tests | |
run: go run ./tests/e2e/... --tc multiconsumer | |
nightly-test-fail: | |
needs: | |
- happy-path-test | |
- changeover-test | |
- democracy-reward-test | |
- democracy-test | |
- slash-throttle-test | |
- multiconsumer-test | |
if: ${{ failure() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Notify Slack on failure | |
uses: slackapi/[email protected] | |
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 }}" | |
COMMITS_URL: "${{ github.server_url }}/${{ github.repository }}/commits/${{ github.ref_name }}" | |
with: | |
payload: | | |
{ | |
"blocks": [ | |
{ | |
"type": "header", | |
"text": { | |
"type": "plain_text", | |
"text": "E2E tests failed❗", | |
"emoji": true | |
} | |
}, | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": ":skull: Nightly E2E tests for `${{ env.BRANCH }}` failed.\n\nSee the <${{ env.RUN_URL }}|run details> and the <${{ env.COMMITS_URL }}|latest commits> possibly related to the failure." | |
} | |
} | |
] | |
} |