Skip to content

E2E Tests

E2E Tests #314

Workflow file for this run

name: E2E Tests
on:
workflow_dispatch:
schedule:
- cron: "35 * * * *"
push:
paths:
- ".github/workflows/e2e-tests.yml"
- "e2e-tests/**"
defaults:
run:
working-directory: ./e2e-tests
jobs:
test:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4
with:
package_json_file: "e2e-tests/package.json"
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: "24"
cache: "pnpm"
cache-dependency-path: "e2e-tests/pnpm-lock.yaml"
- run: pnpm install --frozen-lockfile
- run: pnpm exec playwright install --with-deps chromium
- run: pnpm test
env:
FBS_TEST_USERNAME: ${{ vars.FBS_TEST_USERNAME }}
FBS_TEST_PASSWORD: ${{ secrets.FBS_TEST_PASSWORD }}
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: failure()
with:
name: playwright-report
path: e2e-tests/playwright-report/
retention-days: 7
- name: Notify Slack on failure
if: failure()
run: |
curl --fail -X POST \
-H "Authorization: Bearer ${{ secrets.SLACK_BOT_TOKEN }}" \
-H "Content-type: application/json" \
--data '{"channel":"C0AAS4Q42RJ","text":"❌ E2E tests failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' \
https://slack.com/api/chat.postMessage