Production Cypress tests #32615
This file contains hidden or 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
| name: Production Cypress tests | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 * * * *" | |
| jobs: | |
| test-suite: | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| container: [AllNetworkTests] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js 20.x | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20.x | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| # A workaround for Cypress to work with Currents https://github.com/currents-dev/gh-actions-example/blob/main/.github/workflows/currents.yml | |
| # Install Currents | |
| - name: Install dependencies | |
| run: | | |
| pnpm install | |
| - name: Unblock Cypress | |
| working-directory: "tests" | |
| run: | | |
| echo 🕊️ Download Free Cypress | |
| CYPRESS_DOWNLOAD_MIRROR=https://cy-cdn.currents.dev pnpm add cypress@12.17.4 --force | |
| echo ✅ Verify Cypress | |
| npx cypress verify | |
| echo 👀 Cypress Cache | |
| npx cypress cache list | |
| npx cypress cache path | |
| - name: Cypress tests | |
| id: cypress | |
| uses: cypress-io/github-action@v4 | |
| with: | |
| working-directory: tests | |
| parallel: false | |
| spec: cypress/integration/${{ matrix.container }}.feature | |
| record: false | |
| env: TAGS=@hourly,STATIC_BALANCE_ACCOUNT_PRIVATE_KEY=${{ secrets.STATIC_BALANCE_ACCOUNT_PRIVATE_KEY }},ONGOING_STREAM_ACCOUNT_PRIVATE_KEY=${{ secrets.ONGOING_STREAM_ACCOUNT_PRIVATE_KEY }},TX_ACCOUNT_PRIVATE_KEY1=${{ secrets.TX_ACCOUNT_PRIVATE_KEY1 }},TX_ACCOUNT_PRIVATE_KEY2=${{ secrets.TX_ACCOUNT_PRIVATE_KEY2 }},TX_ACCOUNT_PRIVATE_KEY3=${{ secrets.TX_ACCOUNT_PRIVATE_KEY3 }} | |
| env: | |
| CYPRESS_baseUrl: "https://app.superfluid.org" | |
| # Per-failed-test network/console telemetry written by | |
| # tests/cypress/support/telemetry.js. | |
| - name: Upload failure telemetry | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: telemetry-hourly-${{ matrix.container }} | |
| path: tests/cypress/results/telemetry | |
| if-no-files-found: ignore | |
| retention-days: 14 | |
| - name: Send slack message | |
| if: failure() | |
| run: node tests/hourlySlackMessage.js tests/cypress/results/mochawesome.json | |
| env: | |
| CI_SLACK_WEBHOOK: ${{ secrets.CI_SLACK_WEBHOOK }} | |
| CI_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| CI_RUN_NUMBER: ${{ github.run_number }} |