name: Frontend CI on: push: branches: [ "main", "dev" ] paths: - 'frontend/**' pull_request: branches: [ "main", "dev" ] paths: - 'frontend/**' jobs: build-and-check: runs-on: ubuntu-latest defaults: run: working-directory: frontend steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 10 run_install: false - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '22.x' cache: pnpm cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm install --frozen-lockfile - name: Audit dependencies run: pnpm audit --audit-level moderate - name: Check formatting run: pnpm exec prettier --check src/ - name: Lint with oxlint run: pnpm exec oxlint . - name: Lint with ESLint run: pnpm exec eslint . --max-warnings=0 - name: Type check run: pnpm run type-check - name: Build run: pnpm run build-only