-
Notifications
You must be signed in to change notification settings - Fork 2.7k
fix: use proper dependency resolution in CI #1507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
59642be to
63363bf
Compare
| run: uv run --frozen --no-sync pytest | ||
| run: uv run ${{ matrix.dep-resolution.install-flags }} --no-sync pytest | ||
| env: | ||
| UV_RESOLUTION: ${{ matrix.dep-resolution.name == 'lowest-direct' && 'lowest-direct' || 'highest' }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is needed to ensure subprocesses use the same resolution strategy when they run uv sync rather than overwrite the venv as in @maxisbey's comment: #1325 (comment)
9c7c2a4 to
fc7836d
Compare
- Restructure dep-resolution matrix with name and install-flags - Use uv sync with appropriate flags for each resolution strategy - Set UV_RESOLUTION env var to ensure test subprocesses use correct strategy This fixes the issue where tests spawning uv run subprocesses were re-resolving dependencies using the lockfile instead of respecting the lowest-direct resolution strategy.
fc7836d to
0a22bb6
Compare
8945b6c to
48280fe
Compare
48280fe to
aed48b3
Compare
|
Are my reviews being dismissed on any code change or on force-pushes? 🤔 |
Should be on any code change, see: https://github.com/modelcontextprotocol/python-sdk/rules/3187917
|

Motivation and Context
The CI was incorrectly using --frozen with both resolution strategies.
The --frozen flag should only be used with the highest resolution
strategy (which uses the lockfile), while lowest-direct resolution
needs to resolve dependencies dynamically using --resolution lowest-direct.
This change restructures the matrix to properly pass the correct flags
for each resolution strategy, fixing the CI pipeline.
Github-Issue: #1325
How Has This Been Tested?
CI
Breaking Changes
No
Types of changes
Checklist
Additional context