name: UI v2 CI on: pull_request: branches: - main paths: - "ui-next/**" push: branches: - main paths: - "ui-next/**" permissions: contents: read jobs: lint-format-test: name: Lint, Format & Test runs-on: ubuntu-latest defaults: run: working-directory: ui-next steps: - uses: actions/checkout@v7 - name: Setup pnpm uses: pnpm/action-setup@v6 with: version: 10.32.0 # setup-node must come after pnpm/action-setup so it can locate the store. - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: 22 cache: pnpm cache-dependency-path: ui-next/pnpm-lock.yaml - name: Install dependencies run: pnpm install --frozen-lockfile - name: Prettier check run: pnpm prettier:check - name: Lint run: pnpm lint - name: Type check run: pnpm typecheck - name: Test run: pnpm test - name: Build run: pnpm build e2e-mocked: name: E2E (Mocked) runs-on: ubuntu-latest needs: lint-format-test steps: - uses: actions/checkout@v7 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 - name: Run E2E tests in Docker run: docker compose -f docker-compose.snapshots.yml run --rm playwright working-directory: ui-next - name: Upload Playwright report uses: actions/upload-artifact@v7 if: failure() with: name: playwright-report path: ui-next/playwright-snapshots-report/ retention-days: 7