|
33 | 33 | uiContract: ${{ steps.filter.outputs.uiContract }} |
34 | 34 | mcp: ${{ steps.filter.outputs.mcp }} |
35 | 35 | mcpCliHarness: ${{ steps.filter.outputs.mcpCliHarness }} |
| 36 | + engine: ${{ steps.filter.outputs.engine }} |
| 37 | + miner: ${{ steps.filter.outputs.miner }} |
36 | 38 | rees: ${{ steps.filter.outputs.rees }} |
37 | 39 | observability: ${{ steps.filter.outputs.observability }} |
38 | 40 | steps: |
|
86 | 88 | - 'packages/gittensory-mcp/**' |
87 | 89 | - 'scripts/check-mcp-package.mjs' |
88 | 90 | - 'package-lock.json' |
| 91 | + engine: |
| 92 | + - 'packages/gittensory-engine/**' |
| 93 | + - 'package-lock.json' |
| 94 | + miner: |
| 95 | + - 'packages/gittensory-miner/**' |
| 96 | + - 'scripts/check-miner-package.mjs' |
| 97 | + - 'package-lock.json' |
89 | 98 | # 6 of the 7 MCP CLI-cluster test files, and ONLY these 6, are truly self-contained w.r.t. root |
90 | 99 | # src/**: verified by direct-import inspection that test/unit/mcp-cli-*.test.ts (5 files) and |
91 | 100 | # their shared test/unit/support/mcp-cli-harness.ts import nothing but node:* builtins + vitest, |
@@ -125,7 +134,7 @@ jobs: |
125 | 134 | validate-code: |
126 | 135 | name: validate-code |
127 | 136 | needs: changes |
128 | | - if: ${{ github.event_name == 'push' || needs.changes.outputs.backend == 'true' || needs.changes.outputs.mcp == 'true' || needs.changes.outputs.rees == 'true' || needs.changes.outputs.ui == 'true' || needs.changes.outputs.observability == 'true' }} |
| 137 | + if: ${{ github.event_name == 'push' || needs.changes.outputs.backend == 'true' || needs.changes.outputs.mcp == 'true' || needs.changes.outputs.engine == 'true' || needs.changes.outputs.miner == 'true' || needs.changes.outputs.rees == 'true' || needs.changes.outputs.ui == 'true' || needs.changes.outputs.observability == 'true' }} |
129 | 138 | runs-on: ubuntu-latest |
130 | 139 | timeout-minutes: 45 |
131 | 140 | env: |
@@ -350,6 +359,15 @@ jobs: |
350 | 359 | - name: MCP package check |
351 | 360 | if: ${{ github.event_name == 'push' || needs.changes.outputs.mcp == 'true' }} |
352 | 361 | run: npm run test:mcp-pack |
| 362 | + - name: Build engine package |
| 363 | + if: ${{ github.event_name == 'push' || needs.changes.outputs.engine == 'true' }} |
| 364 | + run: npm run build --workspace @jsonbored/gittensory-engine |
| 365 | + - name: Build miner CLI |
| 366 | + if: ${{ github.event_name == 'push' || needs.changes.outputs.miner == 'true' }} |
| 367 | + run: npm run build:miner |
| 368 | + - name: Miner package check |
| 369 | + if: ${{ github.event_name == 'push' || needs.changes.outputs.miner == 'true' }} |
| 370 | + run: npm run test:miner-pack |
353 | 371 | # review-enrichment is not an npm workspace member (its own package-lock.json), so it needs its own |
354 | 372 | # cache entry -- same restore/save-after-success pattern and fork/trusted key split as the root |
355 | 373 | # install above, for the same reasons. |
|
0 commit comments