Skip to content

Playwright night E2E Tests #74

Playwright night E2E Tests

Playwright night E2E Tests #74

name: Playwright night E2E Tests
on:
schedule:
- cron: '0 20 * * *'
workflow_dispatch:
jobs:
E2E-RUN:
runs-on: runner-dapp
env:
KEYSTORE1_JSON_B64: ${{ secrets.KEYSTORE1_JSON_B64 }}
KEYSTORE1_PASSWORD: ${{ secrets.KEYSTORE1_PASSWORD }}
KEYSTORE1_ADDRESS: ${{ secrets.KEYSTORE1_ADDRESS }}
KEYSTORE2_JSON_B64: ${{ secrets.KEYSTORE2_JSON_B64 }}
KEYSTORE2_PASSWORD: ${{ secrets.KEYSTORE2_PASSWORD }}
KEYSTORE2_ADDRESS: ${{ secrets.KEYSTORE2_ADDRESS }}
KEYSTORE3_JSON_B64: ${{ secrets.KEYSTORE3_JSON_B64 }}
KEYSTORE3_PASSWORD: ${{ secrets.KEYSTORE3_PASSWORD }}
KEYSTORE3_ADDRESS: ${{ secrets.KEYSTORE3_ADDRESS }}
KEYSTORE4_JSON_B64: ${{ secrets.KEYSTORE4_JSON_B64 }}
KEYSTORE4_PASSWORD: ${{ secrets.KEYSTORE4_PASSWORD }}
KEYSTORE4_ADDRESS: ${{ secrets.KEYSTORE4_ADDRESS }}
KEYSTORE5_PEM_B64: ${{ secrets.KEYSTORE5_PEM_B64 }}
KEYSTORE5_ADDRESS: ${{ secrets.KEYSTORE5_ADDRESS }}
KEYSTORE6_PRIVATE_KEY_UTF8: ${{ secrets.KEYSTORE6_PRIVATE_KEY_UTF8 }}
KEYSTORE6_ADDRESS: ${{ secrets.KEYSTORE6_ADDRESS }}
METAMASK_MNEMONIC: ${{ secrets.METAMASK_MNEMONIC }}
METAMASK_ADDRESS: ${{ secrets.METAMASK_ADDRESS }}
METAMASK_PASSWORD: ${{ secrets.METAMASK_PASSWORD }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: Setup pnpm
run: npm install -g pnpm
- name: Install Dependencies
uses: nick-fields/retry@v3
with:
timeout_minutes: 120
retry_on: error
max_attempts: 2
command: pnpm install
- name: Install Playwright Browsers
run: pnpm exec playwright install --with-deps
- name: Run Playwright E2E Tests
working-directory: tests
run: xvfb-run pnpm run run-playwright-test
- name: Upload Playwright test report
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 1
- name: Slack Success Notification
uses: rtCamp/action-slack-notify@master
if: success()
env:
SLACK_ICON_EMOJI: ':robot_face:'
SLACK_USERNAME: Playwright Bot
SLACK_MESSAGE: 'E2E Night Tests completed successfully!'
SLACK_TITLE: 'Playwright E2E Tests - SUCCESS'
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
- name: Slack Failure Notification
uses: rtCamp/action-slack-notify@master
if: failure()
env:
SLACK_ICON_EMOJI: ':robot_face:'
SLACK_USERNAME: Playwright Bot
SLACK_MESSAGE: 'E2E Night Tests failed!'
SLACK_TITLE: 'Playwright E2E Tests - FAILED'
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}