| 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: "" |
| Philip Zeyliger | 037f316 | 2025-06-20 22:26:31 +0000 | [diff] [blame] | 10 | working-directory: |
| 11 | description: "Working directory for the workflow" |
| 12 | required: false |
| 13 | type: string |
| 14 | default: "." |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 15 | push: |
| 16 | branches-ignore: |
| Josh Bleecher Snyder | 93bb66a | 2025-04-30 16:29:05 -0700 | [diff] [blame] | 17 | - "queue-main-*" |
| 18 | - "queue-dev-*" |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 19 | paths: |
| Josh Bleecher Snyder | 40ffb84 | 2025-04-30 16:28:44 -0700 | [diff] [blame] | 20 | - "webui/**" |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 21 | pull_request: |
| 22 | paths: |
| Josh Bleecher Snyder | 40ffb84 | 2025-04-30 16:28:44 -0700 | [diff] [blame] | 23 | - "webui/**" |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 24 | |
| 25 | jobs: |
| 26 | test: |
| Philip Zeyliger | 4ce9dca | 2025-06-27 09:46:42 -0700 | [diff] [blame] | 27 | runs-on: linux-x64-ubuntu-latest-8-core |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 28 | steps: |
| 29 | - uses: actions/checkout@v4 |
| Josh Bleecher Snyder | 936ba62 | 2025-04-30 20:53:21 +0000 | [diff] [blame] | 30 | with: |
| 31 | ref: ${{ inputs.ref }} |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 32 | |
| 33 | - name: Setup Node.js |
| 34 | uses: actions/setup-node@v4 |
| 35 | with: |
| Josh Bleecher Snyder | 40ffb84 | 2025-04-30 16:28:44 -0700 | [diff] [blame] | 36 | node-version: "20" |
| 37 | cache: "npm" |
| Philip Zeyliger | 037f316 | 2025-06-20 22:26:31 +0000 | [diff] [blame] | 38 | cache-dependency-path: ${{ inputs.working-directory || '.'}}/webui/package-lock.json |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 39 | |
| philip.zeyliger | 46be096 | 2025-06-14 17:51:15 +0000 | [diff] [blame] | 40 | - name: Optimize APT |
| Philip Zeyliger | 037f316 | 2025-06-20 22:26:31 +0000 | [diff] [blame] | 41 | working-directory: ${{ inputs.working-directory || '.'}} |
| 42 | run: | |
| 43 | pwd |
| 44 | ./.github/scripts/optimize-apt.sh |
| philip.zeyliger | 46be096 | 2025-06-14 17:51:15 +0000 | [diff] [blame] | 45 | |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 46 | - name: Install dependencies |
| Philip Zeyliger | 037f316 | 2025-06-20 22:26:31 +0000 | [diff] [blame] | 47 | working-directory: ${{ inputs.working-directory || '.'}}/webui |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 48 | run: npm ci |
| 49 | |
| Philip Zeyliger | 4f50a68 | 2025-04-23 19:34:55 -0700 | [diff] [blame] | 50 | - name: Install Playwright Chromium |
| Philip Zeyliger | 037f316 | 2025-06-20 22:26:31 +0000 | [diff] [blame] | 51 | working-directory: ${{ inputs.working-directory || '.'}}/webui |
| Philip Zeyliger | 4f50a68 | 2025-04-23 19:34:55 -0700 | [diff] [blame] | 52 | run: npx playwright install chromium --with-deps |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 53 | |
| 54 | - name: Run tests |
| Philip Zeyliger | 037f316 | 2025-06-20 22:26:31 +0000 | [diff] [blame] | 55 | working-directory: ${{ inputs.working-directory || '.'}}/webui |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 56 | run: npm run test |
| 57 | |
| 58 | - name: Upload test results |
| 59 | if: always() |
| 60 | uses: actions/upload-artifact@v4 |
| 61 | with: |
| 62 | name: playwright-report |
| Philip Zeyliger | 037f316 | 2025-06-20 22:26:31 +0000 | [diff] [blame] | 63 | path: ${{ inputs.working-directory || '.'}}/webui/playwright-report/ |
| Sean McCullough | e8d6b80 | 2025-04-21 19:02:05 -0700 | [diff] [blame] | 64 | retention-days: 7 |