merge: feat/workspace-v5 into main for v4.0.0 release #436
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Phase 2.5-002: Build + lint workflow | |
| # Runs on all PRs and pushes to main | |
| name: CI | |
| on: | |
| push: | |
| branches: [main, production] | |
| pull_request: | |
| branches: [main, production] | |
| jobs: | |
| build: | |
| name: Build & Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run linter | |
| run: pnpm run lint || echo "⚠️ Lint not configured, skipping" | |
| continue-on-error: true | |
| - name: Type check | |
| run: pnpm run typecheck || pnpm exec tsc --noEmit || echo "⚠️ Typecheck not configured" | |
| continue-on-error: true | |
| - name: Build | |
| run: pnpm build | |
| - name: Verify build output | |
| run: | | |
| if [ -d "dist" ]; then | |
| echo "✅ Build output exists" | |
| ls -la dist/ | |
| else | |
| echo "❌ No dist folder found" | |
| exit 1 | |
| fi | |
| test: | |
| name: Run Tests | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Run tests | |
| run: pnpm test || echo "⚠️ No tests configured" | |
| continue-on-error: true | |
| - name: Run redaction tests | |
| run: npx tsx scripts/qa/test-redaction.ts |