Run end-to-end tests in CI #1
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
name: Mafs End-to-End (E2E) Tests | |
on: | |
pull_request: | |
types: [labeled, synchronize] | |
jobs: | |
e2e-tests: | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
if: contains(github.event.pull_request.labels.*.name, 'run-e2e-tests') | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v3 | |
- uses: actions/setup-node@v4 | |
with: | |
cache: "pnpm" | |
- run: pnpm install | |
# TODO: cache this step, it takes forever. Playwright puts the browsers in ~/.cache somewhere. | |
# It also doesn't feel very reproducible. | |
- name: Install Playwright Browsers | |
run: pnpm playwright install --with-deps | |
- run: pnpm test:e2e | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 |