ci: pin MLflow for protobuf compatibility AB#5480878 - #2580
Conversation
Pin the shared Python test environment to MLflow 2.21.3, matching the Databricks test dependency. This constrains protobuf to a compatible major version and invalidates the stale conda cache that breaks Python test collection. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Hey @ranadeepsingh 👋! We use semantic commit messages to streamline the release process. Examples of commit messages with semantic prefixes:
To test your commit locally, please follow our guild on building from source. |
|
/azp run |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Pins MLflow in the shared Python CI conda environment to address protobuf compatibility issues impacting Python test collection, improving reproducibility of CI runs.
Changes:
- Pin
mlflowto2.21.3inenvironment.yml(pip dependencies) to avoid incompatible protobuf imports.
Show a summary per file
| File | Description |
|---|---|
environment.yml |
Pins mlflow==2.21.3 in the shared CI Python environment to stabilize protobuf compatibility. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Low
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2580 +/- ##
==========================================
- Coverage 84.79% 84.78% -0.01%
==========================================
Files 334 334
Lines 17801 17801
Branches 1619 1619
==========================================
- Hits 15094 15093 -1
- Misses 2707 2708 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Related Issues/PRs
What changes are proposed in this pull request?
Pin the shared Python test environment to
mlflow==2.21.3.Six Python test jobs currently fail during collection because the cached unpinned MLflow package imports
google.protobuf.servicefrom an incompatible protobuf release. The same failure occurs onmaster, so itis not caused by #2579.
MLflow 2.21.3:
environment.ymlhash, forcing Azure Pipelines to build a fresh conda cache instead ofrestoring the incompatible artifact.
How is this patch tested?
I have written tests or performed focused validation and confirmed the proposed change works.
Loaded
environment.ymland verified the exact MLflow pin.Imported
mlflow.protos.service_pb2from the MLflow 2.21.3 wheel with protobuf 5.29.6.Confirmed the conda cache input hash changes from
53693f7fca9c7552136553c3373c989575ab9bca9408dc9240812455a2448031toe3e7eeb36600cc82c712e67fa477036ffcb4bb803c8b6a162eb1314c14b121f1.black --check --extend-exclude 'docs/' .Full Azure Pipelines build 228877170 passed, including every Python test job and the Databricks GPU job.
Does this PR change any dependencies?
Does this PR add a new feature? If so, have you added samples on website?