fix(mcp): allow concurrent stdio clients #856
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-pr-fast | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| pr-fast: | |
| name: pr-fast-linux | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - name: Install Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Cache Rust artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Phase 1 dependency policy | |
| run: make dependency-policy USE_RUSTUP=0 | |
| - name: Format check | |
| run: cargo fmt --all -- --check | |
| - name: Clippy strict (baseline) | |
| run: bash scripts/ci/clippy-strict-baseline.sh | |
| - name: Build workspace | |
| run: cargo build --workspace --locked | |
| - name: Test workspace | |
| run: cargo test --workspace --locked | |
| - name: Detect E2E-relevant changes | |
| id: e2e_changes | |
| if: github.event_name == 'pull_request' | |
| uses: dorny/paths-filter@v3 | |
| with: | |
| filters: | | |
| e2e: | |
| - '.github/workflows/ci-pr-fast.yml' | |
| - 'Cargo.toml' | |
| - 'Cargo.lock' | |
| - 'apps/**' | |
| - 'bin/**' | |
| - 'config/**' | |
| - 'crates/**' | |
| - 'scripts/**' | |
| - 'sql/**' | |
| # Only the monitor frontend is exercised by the e2e stack. Other | |
| # web/ trees (e.g. web/landing/, the static GitHub Pages hero page) | |
| # are validated by docs-deploy, not the functional stack. | |
| - 'web/monitor/**' | |
| - name: Functional stack + MCP smoke (Linux) | |
| if: github.event_name != 'pull_request' || steps.e2e_changes.outputs.e2e == 'true' | |
| run: bash scripts/ci/e2e-stack.sh | |
| - name: Skip E2E for docs-only changes | |
| if: github.event_name == 'pull_request' && steps.e2e_changes.outputs.e2e != 'true' | |
| run: | | |
| echo "Skipping E2E: no E2E-relevant file changes detected." |