diff --git a/.github/workflows/mcp-ci.yml b/.github/workflows/mcp-ci.yml new file mode 100644 index 00000000..3e455284 --- /dev/null +++ b/.github/workflows/mcp-ci.yml @@ -0,0 +1,41 @@ +name: mcp-ci + +on: + push: + branches: [main] + paths: + - 'packages/mcp/**' + - 'packages/core/**' + - 'bun.lock' + pull_request: + paths: + - 'packages/mcp/**' + - 'packages/core/**' + - 'bun.lock' + +jobs: + ci: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - uses: actions/checkout@v4 + + - uses: oven-sh/setup-bun@v2 + with: + bun-version: 1.3.0 + + - name: Install + run: bun install --frozen-lockfile + + - name: Build core + run: bun run --cwd packages/core build + + - name: Build mcp + run: bun run --cwd packages/mcp build + + - name: Test mcp + run: bun test --cwd packages/mcp + + - name: Biome check + run: bunx biome check packages/mcp diff --git a/packages/mcp/CROSS_CUTTING.md b/packages/mcp/CROSS_CUTTING.md index 09e301c8..1ef28fa5 100644 --- a/packages/mcp/CROSS_CUTTING.md +++ b/packages/mcp/CROSS_CUTTING.md @@ -75,3 +75,23 @@ Align `SiteNode.children` to `z.array(z.string())` + migration in `setScene.migr --- +## 3. `.github/workflows/mcp-ci.yml` — new CI workflow + +### What + +Adds a CI workflow that runs on pushes to `main` and on pull requests touching `packages/mcp/`, `packages/core/`, or `bun.lock`. The job installs deps with Bun, builds `@pascal-app/core` then `@pascal-app/mcp`, runs `bun test` in the mcp package, and runs `bunx biome check packages/mcp`. + +### Why + +The existing `.github/workflows/release.yml` is `workflow_dispatch`-only (manual releases for `core` / `viewer`). There was no automated pre-merge check for MCP builds/tests. A new workflow is needed so that PRs touching mcp/core are verified before merge. + +### Impact + +None on existing workflows; purely additive. The new workflow only triggers for paths under `packages/mcp/`, `packages/core/`, or `bun.lock`, so unrelated PRs remain unaffected. `release.yml` is untouched. + +### Reversibility + +Delete `.github/workflows/mcp-ci.yml`. + +--- +