blob: 073877cd9230e19954c873fca2d8ce2b5b658c49 [file] [log] [blame]
Sean McCulloughe8d6b802025-04-21 19:02:05 -07001name: WebUI Tests
2on:
3 workflow_call:
4 push:
5 branches-ignore:
Josh Bleecher Snyder93bb66a2025-04-30 16:29:05 -07006 - "queue-main-*"
7 - "queue-dev-*"
Sean McCulloughe8d6b802025-04-21 19:02:05 -07008 paths:
Josh Bleecher Snyder40ffb842025-04-30 16:28:44 -07009 - "webui/**"
Sean McCulloughe8d6b802025-04-21 19:02:05 -070010 pull_request:
11 paths:
Josh Bleecher Snyder40ffb842025-04-30 16:28:44 -070012 - "webui/**"
Sean McCulloughe8d6b802025-04-21 19:02:05 -070013
14jobs:
15 test:
16 runs-on: ubuntu-latest
17 steps:
18 - uses: actions/checkout@v4
19
20 - name: Setup Node.js
21 uses: actions/setup-node@v4
22 with:
Josh Bleecher Snyder40ffb842025-04-30 16:28:44 -070023 node-version: "20"
24 cache: "npm"
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070025 cache-dependency-path: webui/package-lock.json
Sean McCulloughe8d6b802025-04-21 19:02:05 -070026
27 - name: Install dependencies
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070028 working-directory: ./webui
Sean McCulloughe8d6b802025-04-21 19:02:05 -070029 run: npm ci
30
Philip Zeyliger4f50a682025-04-23 19:34:55 -070031 - name: Install Playwright Chromium
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070032 working-directory: ./webui
Philip Zeyliger4f50a682025-04-23 19:34:55 -070033 run: npx playwright install chromium --with-deps
Sean McCulloughe8d6b802025-04-21 19:02:05 -070034
35 - name: Run tests
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070036 working-directory: ./webui
Sean McCulloughe8d6b802025-04-21 19:02:05 -070037 run: npm run test
38
39 - name: Upload test results
40 if: always()
41 uses: actions/upload-artifact@v4
42 with:
43 name: playwright-report
Philip Zeyliger2032b1c2025-04-23 19:40:42 -070044 path: webui/playwright-report/
Sean McCulloughe8d6b802025-04-21 19:02:05 -070045 retention-days: 7