Cascade-delete referential integrity + multi-select tree commands #59
Workflow file for this run
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
| name: CI | |
| # agent-pmo:74cf183 | |
| on: | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-lint-test: | |
| name: Build, Lint & Test | |
| runs-on: ubuntu-latest | |
| # TIMEOUT EXCEPTION: Full E2E suite spins up MCP server, VSIX, and Playwright; needs more than 10 min. | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| cache-dependency-path: | | |
| too-many-cooks/package-lock.json | |
| too_many_cooks_vscode_extension/package-lock.json | |
| # ── Install & Build ──────────────────────────────── | |
| - name: Install MCP server dependencies | |
| working-directory: too-many-cooks | |
| run: npm ci | |
| - name: Build MCP server | |
| working-directory: too-many-cooks | |
| run: npm run build | |
| - name: Install extension dependencies | |
| working-directory: too_many_cooks_vscode_extension | |
| run: npm ci | |
| - name: Compile extension and tests | |
| working-directory: too_many_cooks_vscode_extension | |
| run: npm run pretest | |
| # ── Lint ─────────────────────────────────────────── | |
| - name: Lint MCP server | |
| working-directory: too-many-cooks | |
| run: npm run lint | |
| - name: Lint extension | |
| working-directory: too_many_cooks_vscode_extension | |
| run: npm run lint | |
| # ── Start MCP server ────────────────────────────── | |
| - name: Start MCP server | |
| working-directory: too-many-cooks | |
| run: node packages/too-many-cooks/build/bin/server.js & | |
| env: | |
| TMC_PORT: '4040' | |
| - name: Wait for MCP server to be ready | |
| run: | | |
| for i in $(seq 1 30); do | |
| if curl -s http://localhost:4040/admin/status > /dev/null 2>&1; then | |
| echo "MCP server ready" | |
| exit 0 | |
| fi | |
| sleep 1 | |
| done | |
| echo "MCP server failed to start" | |
| exit 1 | |
| # ── Tests ────────────────────────────────────────── | |
| - name: Test MCP server | |
| working-directory: too-many-cooks | |
| run: npm test | |
| - name: Test extension | |
| uses: coactions/setup-xvfb@v1 | |
| with: | |
| run: npm test | |
| working-directory: too_many_cooks_vscode_extension |