| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 1 | name: WebUI Tests |
| 2 | on: |
| 3 | workflow_call: |
| Josh Bleecher Snyder | 936ba62 | 2025-04-30 20:53:21 +0000 | [diff] [blame] | 4 | inputs: |
| 5 | ref: |
| 6 | description: "The git ref to checkout" |
| 7 | required: false |
| 8 | type: string |
| 9 | default: "" |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 10 | push: |
| 11 | branches-ignore: |
| Josh Bleecher Snyder | 93bb66a | 2025-04-30 16:29:05 -0700 | [diff] [blame] | 12 | - "queue-main-*" |
| 13 | - "queue-dev-*" |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 14 | paths: |
| Josh Bleecher Snyder | 40ffb84 | 2025-04-30 16:28:44 -0700 | [diff] [blame] | 15 | - "webui/**" |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 16 | pull_request: |
| 17 | paths: |
| Josh Bleecher Snyder | 40ffb84 | 2025-04-30 16:28:44 -0700 | [diff] [blame] | 18 | - "webui/**" |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 19 | |
| 20 | jobs: |
| 21 | test: |
| 22 | runs-on: ubuntu-latest |
| 23 | steps: |
| 24 | - uses: actions/checkout@v4 |
| Josh Bleecher Snyder | 936ba62 | 2025-04-30 20:53:21 +0000 | [diff] [blame] | 25 | with: |
| 26 | ref: ${{ inputs.ref }} |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 27 | |
| 28 | - name: Setup Node.js |
| 29 | uses: actions/setup-node@v4 |
| 30 | with: |
| Josh Bleecher Snyder | 40ffb84 | 2025-04-30 16:28:44 -0700 | [diff] [blame] | 31 | node-version: "20" |
| 32 | cache: "npm" |
| Philip Zeyliger | 2032b1c | 2025-04-23 19:40:42 -0700 | [diff] [blame] | 33 | cache-dependency-path: webui/package-lock.json |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 34 | |
| 35 | - name: Install dependencies |
| Philip Zeyliger | 2032b1c | 2025-04-23 19:40:42 -0700 | [diff] [blame] | 36 | working-directory: ./webui |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 37 | run: npm ci |
| 38 | |
| Philip Zeyliger | 4f50a68 | 2025-04-23 19:34:55 -0700 | [diff] [blame] | 39 | - name: Install Playwright Chromium |
| Philip Zeyliger | 2032b1c | 2025-04-23 19:40:42 -0700 | [diff] [blame] | 40 | working-directory: ./webui |
| Philip Zeyliger | 4f50a68 | 2025-04-23 19:34:55 -0700 | [diff] [blame] | 41 | run: npx playwright install chromium --with-deps |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 42 | |
| 43 | - name: Run tests |
| Philip Zeyliger | 2032b1c | 2025-04-23 19:40:42 -0700 | [diff] [blame] | 44 | working-directory: ./webui |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 45 | run: npm run test |
| 46 | |
| 47 | - name: Upload test results |
| 48 | if: always() |
| 49 | uses: actions/upload-artifact@v4 |
| 50 | with: |
| 51 | name: playwright-report |
| Philip Zeyliger | 2032b1c | 2025-04-23 19:40:42 -0700 | [diff] [blame] | 52 | path: webui/playwright-report/ |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 53 | retention-days: 7 |