Skip to content

Dependencies filter available versions based on prerelease state of initial requirement#45043

Merged
scbedd merged 1 commit intoAzure:mainfrom
scbedd:updates-to-filtering
Feb 5, 2026
Merged

Dependencies filter available versions based on prerelease state of initial requirement#45043
scbedd merged 1 commit intoAzure:mainfrom
scbedd:updates-to-filtering

Conversation

@scbedd
Copy link
Member

@scbedd scbedd commented Feb 5, 2026

During processing of latest/mindependency, we have the following flow:

  • Walk requirements for the package under focus
    • azure-ai-evaluation triggered this investigation due to the weird behavior around httpx resolving > 1 and being incompatible with openai install - breaking latestdependency installation for azure-ai-evaluation.
  • For each dependency package, grab the available versions from package manager
  • Choose either the minimum or latest version from the list that make it through filtering, that is selected version for that dependency during the run.

This PR adds an additional step before processing the bounded versions -> filter out any packages that are prerelease if the specifier is not prerelease itself.

Frankly this has been like this a long time, I'm surprised it's taken this long to break.

As for origin, I have a suspicion that the behavior change is due to this PR: https://github.com/Azure/azure-sdk-for-python/pull/41973/changes#diff-3ea00033d292b993f07eec44e7472a93982f8275a6025c20df7423f067a1c1ca

…equirement is GA, then only include GA. Otherwise include all
@scbedd scbedd self-assigned this Feb 5, 2026
Copilot AI review requested due to automatic review settings February 5, 2026 20:05
@scbedd scbedd moved this from 🤔 Triage to 🔬 Dev in PR in Azure SDK EngSys 📆🎇 Feb 5, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds prerelease filtering to the dependency resolution process used during latest/mindependency workflows. The changes address an issue where prerelease versions were being selected when they shouldn't be, which was causing installation failures (specifically with azure-ai-evaluation due to httpx/openai compatibility issues).

Changes:

  • Added logic to filter out prerelease package versions unless the dependency specifier explicitly allows them
  • Minor code formatting improvements (compressing multi-line list comprehensions to single lines)
  • Added trailing comma to dictionary definition for consistency

@scbedd scbedd merged commit ca7840c into Azure:main Feb 5, 2026
40 of 44 checks passed
@scbedd
Copy link
Member Author

scbedd commented Feb 5, 2026

Nightly core tests checking out. Merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🔬 Dev in PR

Development

Successfully merging this pull request may close these issues.

2 participants