blob: 490f162a523e0a83590d8f10b6ddabb34ed72804 [file] [log] [blame]
name: WebUI Tests
on:
workflow_call:
inputs:
ref:
description: "The git ref to checkout"
required: false
type: string
default: ""
working-directory:
description: "Working directory for the workflow"
required: false
type: string
default: "."
push:
branches-ignore:
- "queue-main-*"
- "queue-dev-*"
paths:
- "webui/**"
pull_request:
paths:
- "webui/**"
jobs:
test:
runs-on: linux-x64-ubuntu-latest-64-core
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: ${{ inputs.working-directory || '.'}}/webui/package-lock.json
- name: Optimize APT
working-directory: ${{ inputs.working-directory || '.'}}
run: |
pwd
./.github/scripts/optimize-apt.sh
- name: Install dependencies
working-directory: ${{ inputs.working-directory || '.'}}/webui
run: npm ci
- name: Install Playwright Chromium
working-directory: ${{ inputs.working-directory || '.'}}/webui
run: npx playwright install chromium --with-deps
- name: Run tests
working-directory: ${{ inputs.working-directory || '.'}}/webui
run: npm run test
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: ${{ inputs.working-directory || '.'}}/webui/playwright-report/
retention-days: 7