blob: 17dc38f517d9fd1e66644d18cf9c49a8296118ee [file] [log] [blame]
Sean McCulloughe8d6b802025-04-21 19:02:05 -07001name: WebUI Tests
2on:
3 workflow_call:
4 push:
5 branches-ignore:
6 - "queue-main-**"
7 paths:
Philip Zeyliger2032b1c2025-04-23 19:40:42 -07008 - 'webui/**'
Sean McCulloughe8d6b802025-04-21 19:02:05 -07009 pull_request:
10 paths:
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070011 - 'webui/**'
Sean McCulloughe8d6b802025-04-21 19:02:05 -070012
13jobs:
14 test:
15 runs-on: ubuntu-latest
16 steps:
17 - uses: actions/checkout@v4
18
19 - name: Setup Node.js
20 uses: actions/setup-node@v4
21 with:
22 node-version: '20'
23 cache: 'npm'
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070024 cache-dependency-path: webui/package-lock.json
Sean McCulloughe8d6b802025-04-21 19:02:05 -070025
26 - name: Install dependencies
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070027 working-directory: ./webui
Sean McCulloughe8d6b802025-04-21 19:02:05 -070028 run: npm ci
29
Philip Zeyliger4f50a682025-04-23 19:34:55 -070030 - name: Install Playwright Chromium
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070031 working-directory: ./webui
Philip Zeyliger4f50a682025-04-23 19:34:55 -070032 run: npx playwright install chromium --with-deps
Sean McCulloughe8d6b802025-04-21 19:02:05 -070033
34 - name: Run tests
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070035 working-directory: ./webui
Sean McCulloughe8d6b802025-04-21 19:02:05 -070036 run: npm run test
37
38 - name: Upload test results
39 if: always()
40 uses: actions/upload-artifact@v4
41 with:
42 name: playwright-report
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070043 path: webui/playwright-report/
Sean McCulloughe8d6b802025-04-21 19:02:05 -070044 retention-days: 7