/ .github / workflows / e2e-tests.yml
e2e-tests.yml
 1  name: e2e-tests
 2  
 3  on:
 4    push:
 5    workflow_dispatch:
 6  
 7  concurrency:
 8    group: ${{ github.workflow }}-${{ github.ref }}
 9    cancel-in-progress: true
10  
11  jobs:
12    test:
13      runs-on: ubuntu-latest
14      timeout-minutes: 10
15  
16      steps:
17        - name: Checkout code
18          uses: actions/checkout@v4
19  
20        - name: Enable Corepack
21          run: corepack enable
22  
23        - name: Setup Node.js
24          uses: actions/setup-node@v4
25          with:
26            node-version: "24.13.0"
27            cache: "pnpm"
28  
29        - name: Install dependencies
30          run: pnpm install --frozen-lockfile
31  
32        - name: Cache Playwright browsers
33          uses: actions/cache@v4
34          id: playwright-dep-cache
35          with:
36            path: ~/.cache/ms-playwright
37            key: ${{ runner.os }}-playwright-${{ hashFiles('pnpm-lock.yaml') }}
38  
39        - name: Install Playwright browsers
40          if: steps.playwright-dep-cache.outputs.cache-hit != 'true'
41          run: pnpm exec playwright install --with-deps chromium
42  
43        - name: Run E2E tests
44          run: pnpm test:e2e