name: WebUI Tests on: workflow_call: inputs: ref: description: "The git ref to checkout" required: false type: string default: "" push: branches-ignore: - "queue-main-*" - "queue-dev-*" paths: - "webui/**" pull_request: paths: - "webui/**" jobs: test: runs-on: ubuntu-latest 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: webui/package-lock.json - name: Install dependencies working-directory: ./webui run: npm ci - name: Install Playwright Chromium working-directory: ./webui run: npx playwright install chromium --with-deps - name: Run tests working-directory: ./webui run: npm run test - name: Upload test results if: always() uses: actions/upload-artifact@v4 with: name: playwright-report path: webui/playwright-report/ retention-days: 7