Fix CI highest resolution test to actually test highest versions #1609
+3
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes the CI dependency resolution testing to properly test against the highest available dependency versions, which would have caught the pydantic 2.12 breaking change before it reached main.
Motivation and Context
The CI test matrix includes a "highest" resolution test intended to catch compatibility issues with newer dependency versions. However, it was using the
--frozenflag, which prevented uv from resolving to the highest available versions. Instead, it just used whatever was locked inuv.lockfrom main, defeating the purpose of testing against latest versions.This meant breaking changes in newer dependency versions (like pydantic 2.12's
FieldInforefactor) that were compatible with our version constraints but not yet in the lockfile would not be caught by CI.How Has This Been Tested?
The changes are to CI configuration only. The fix:
--resolution highestduringuv syncfor the highest resolution test--resolution lowest-directfor the lowest resolution test (unchanged behavior)uv runto use--frozen --no-syncsince resolution already happened during syncUV_RESOLUTIONenvironment variableThis ensures the highest test matrix actually resolves to and tests against the highest available versions within our constraints.
Breaking Changes
None. This is a CI configuration improvement that makes the tests work as originally intended.
Types of changes
Checklist
Additional context
This fix is related to the pydantic 2.12 compatibility issue discovered in the investigation. With this change, future dependency updates that introduce breaking changes will be caught by the "highest" resolution CI tests before merging to main.
The fix clarifies the intent of each step:
uv syncwith resolution flags → resolve and install dependenciesuv run --frozen→ run tests with what was synced (no re-resolution)