ci(mcp): Pin mcp package to <2.0.0 while alphas are in flight#6687
Conversation
Alphas for mcp 2.0 are currently being released. Pin to <2.0.0 until the stable release expected end of July 2026.
Codecov Results 📊✅ 90151 passed | ⏭️ 6305 skipped | Total: 96456 | Pass Rate: 93.46% | Execution Time: 311m 11s 📊 Comparison with Base Branch
✨ No test changes detected All tests are passing successfully. ✅ Patch coverage is 100.00%. Project has 2399 uncovered lines. Coverage diff@@ Coverage Diff @@
## main #PR +/-##
==========================================
- Coverage 89.95% 89.92% -0.03%
==========================================
Files 192 192 —
Lines 23809 23809 —
Branches 8218 8218 —
==========================================
+ Hits 21418 21410 -8
- Misses 2391 2399 +8
- Partials 1337 1338 +1Generated by Codecov Action |
| "deps": { | ||
| "*": ["pytest-asyncio"], | ||
| }, | ||
| "include": "<2.0.0", # Alphas are currently being released, will come back to these before the release that's expected at the end of July 2026 |
There was a problem hiding this comment.
Bug: The include: "<2.0.0" specifier for mcp will not prevent testing against pre-release versions like 2.0.0a1 due to PEP 440 version comparison rules.
Severity: MEDIUM
Suggested Fix
To correctly exclude specific pre-release versions, use inequality specifiers. For example, change the include value to something like "!=2.0.0a1,!=2.0.0a2" to explicitly filter out known alpha versions, similar to how the starlite integration is configured.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.
Location: scripts/populate_tox/config.py#L306
Potential issue: The configuration change for the `mcp` integration uses `"include":
"<2.0.0"` with the intent to skip testing against `2.0.0-alpha` versions. However, this
will not work as expected. According to PEP 440, a pre-release version like `2.0.0a1` is
considered less than `2.0.0`. Since the `SpecifierSet` in `_prefilter_releases` is
created with `prereleases=True`, `2.0.0a1` will pass the `include_versions` filter. The
script will then identify it as the latest pre-release and may select it for testing,
which is contrary to the stated goal of the change.
Did we get this right? 👍 / 👎 to inform future reviews.
### Description The initial PR #6687 doesn't correctly ignore alpha tags because `2.0.0a` < `2.0.0`. Update the conditional to make sure these alpha versions are filtered out
The
mcppackage is currently releasing 2.0 alpha versions. Pin the test suite to<2.0.0to avoid picking up unstable pre-releases until the stable 2.0 release expected at the end of July 2026.