name: Workbench UI on: pull_request: paths: - "workbench-ui/**" - ".github/workflows/workbench-ui.yml" push: branches: [main] paths: - "workbench-ui/**" - ".github/workflows/workbench-ui.yml" jobs: e2e: name: Playwright smoke runs-on: ubuntu-latest timeout-minutes: 15 defaults: run: working-directory: workbench-ui steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 9.15.0 run_install: false - name: Setup Node uses: actions/setup-node@v4 with: node-version: 20 cache: pnpm cache-dependency-path: workbench-ui/pnpm-lock.yaml - name: Install dependencies run: pnpm install --frozen-lockfile - name: Cache Playwright browsers uses: actions/cache@v4 with: path: ~/.cache/ms-playwright key: ${{ runner.os }}-playwright-${{ hashFiles('workbench-ui/pnpm-lock.yaml') }} - name: Install Chromium run: pnpm exec playwright install --with-deps chromium - name: Build run: pnpm build - name: Run Playwright smoke run: pnpm test:e2e