-
Notifications
You must be signed in to change notification settings - Fork 63
Add resolution-strategy input to support oldest compatible version selection #631
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
Co-authored-by: eifinger <[email protected]>
Co-authored-by: eifinger <[email protected]>
…lection Co-authored-by: eifinger <[email protected]>
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.
@copilot remove all the unit tests you added in the __tests__ folder. They are not testing any code and are thus useless.
Extend the test test-specific-version in .github/workflows/test.yml instead. Add an additional input in the matrix for the resolution strategy. Look in version-manifest.json for available versions
…rategy matrix Co-authored-by: eifinger <[email protected]>
Removed all unit tests from |
be6e5ca to
c6dcfa6
Compare
Adds a new
resolution-strategyinput that allows users to choose between installing the highest (default) or lowest compatible version when resolving version ranges.Closes: #620
Problem
When specifying version constraints like
>=0.4.0, setup-uv would always install the latest compatible version. This made it difficult to test against the minimum supported uv version to catch compatibility issues early, similar to howuv --resolution-strategy lowestworks.Solution
This PR introduces a new
resolution-strategyinput with two options:"highest"(default): Install the latest version that satisfies constraints - maintains existing behavior"lowest": Install the oldest version that satisfies constraints - new functionalityUsage Examples
Test with minimum supported version:
Matrix testing with both strategies:
Implementation Details
resolveVersion()to support both semver and PEP 440 specifications usingminSatisfying/maxSatisfyingfunctionsTesting
test-specific-versionjob in.github/workflows/test.ymlwith matrix testing for both resolution strategies>=0.4.25,<0.5and>=0.1.0,<0.2to verify both highest and lowest resolution behaviorThis enables users to test their configurations against the minimum supported uv version, helping catch cases where newer uv features are required than declared in version constraints.
Fixes #620
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.