Skip to content

Production Cypress tests #32618

Production Cypress tests

Production Cypress tests #32618

Workflow file for this run

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 }}