name: CI on: push: branches: [main] pull_request: branches: [main] # Cancel in-progress runs for the same ref so a fresh push supersedes them. concurrency: group: ci-${{ github.ref }} cancel-in-progress: true jobs: build: name: typecheck + build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v5 - name: Set up Bun uses: oven-sh/setup-bun@v2 with: bun-version: "1.3.14" - name: Install dependencies run: bun install --frozen-lockfile - name: Typecheck run: bun run typecheck - name: Build web run: bun --cwd apps/web run build - name: MCP smoke test run: bun --cwd apps/mcp run smoke - name: Test run: bun run test # Upload the built .next directory as a deploy artifact. # The VPS deploy step copies this directly — no build needed on VPS. - name: Upload web build artifact uses: actions/upload-artifact@v4 with: name: mcpedia-web-build path: apps/web/.next/