fix(ci): deselect non-MCP tests from mcp-compat workflow - #275
Conversation
TestPTCInBatch requires codecell (ptc extra) and TestOpenAPIExecutionStack requires openapi deps — neither are MCP-related so deselect them from the MCP compat run.
- Use fixed issue titles (`[CI] MCP SDK v1.x/v2.x compatibility failure`) and exact title match for dedup — eliminates collision risk from title edits (review non-blocking #1) - Tolerate pip install failure gracefully when a matrix leg's SDK line doesn't exist on PyPI yet (review non-blocking #2) - Gate test/upload/issue steps on install-mcp skip output
There was a problem hiding this comment.
LGTM 👍
Addresses both non-blocking flags from #272 review:
-
Dedup fix: Fixed titles (
[CI] MCP SDK v${line}.x compatibility failure) + exact match (=== title) eliminates the manual-edit collision risk -
PyPI graceful handling:
pip installfailure now setsskip=truewith a warning instead of failing the job — handles missing SDK versions cleanly -
Deselects:
--deselectforTestPTCInBatchandTestOpenAPIExecutionStackis the right fix — those tests need codecell/openapi deps unrelated to MCP compat -
Condition gating: Downstream steps properly check both skip outputs
Clean follow-up. 🚀
There was a problem hiding this comment.
LGTM — addresses both non-blocking flags from #272 review.
Changes look good:
--deselectcleanly excludes tests needing deps not installed in this workflow- Fixed title + exact match for reliable dedup
- Graceful skip on pip failure
Minor nit (non-blocking): Line 75's 2>&1 is unnecessary — the warning message already explains the situation, and dropping the redirect lets pip's actual error remain visible in the log:
if ! pip install "${{ steps.resolve.outputs.mcp_spec }}"; thenThere was a problem hiding this comment.
Addresses both flags from #272 cleanly:
-
Dedup fix — fixed title
[CI] MCP SDK v${line}.x compatibility failure+ exact match (i.title === title) eliminates the substring collision risk. -
PyPI graceful handling —
pip installfailure now emits a warning and skips the leg instead of failing the job. Explicitskip=falseon success ensures the conditional chain works. -
Test deselection —
--deselectforTestPTCInBatchandTestOpenAPIExecutionStackis the right fix since those requirecodecell/OpenAPI deps not in this workflow's scope.
All step conditions properly gate on both resolve.outputs.skip and install-mcp.outputs.skip.
LGTM — approve once CI is green.
Summary
TestPTCInBatchandTestOpenAPIExecutionStackfrom MCP compat CI — they requirecodecell/OpenAPI deps not installed in this workflow[CI] MCP SDK v1.x/v2.x compatibility failure) with exact title match for dedup — eliminates collision risk from manual title edits (review non-blocking Mcp support #1)pip installfailure gracefully when a matrix leg's SDK line doesn't exist on PyPI (review non-blocking Mcp refine async calling mechanism #2)Test plan
mcp-compat.ymlafter merge — both legs should pass