Repository navigation
Prevent bundled CBC crashes with CFFI 2.x on Linux - #44
Open
zack-dev-cm wants to merge 1 commit into
Open
zack-dev-cm wants to merge 1 commit into
zack-dev-cm wants to merge 1 commit into
Conversation
Author
|
Could a maintainer approve the pending test and CBC compatibility workflows for this PR, and the test workflow for #43? The linked installed-wheel validation passes all 56 offline tests, including the original interconnector case, on Python 3.9 and 3.12. This dependency correction remains independently reviewable from #43's ramp-input changes. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fresh pip installations of the declared
mip==1.16rc0can select CFFI 2.x and abort duringtests/test_markets.py::test_one_interconnectoron Linux x86-64. In controlled runs on unchanged master2d3cef0, the test passes with CFFI 1.17.1 and aborts with 2.0.0 on both Python 3.9 and 3.12. CFFI 2.1.1 also aborts on Python 3.12; all other installed packages were identical in that comparison.This constrains CFFI to
>=1.17.1,<2on the affected platform while retaining the declared solver and Python minimum. The lock already selected 1.17.1; its root metadata now matches the package version, pandas requirement, and new constraint. Other platforms retain the solver's existing CFFI requirement.The new CI job installs a freshly built wheel in a separate environment and runs the existing offline market and solver tests outside the checkout. It includes the original interconnector test without changing or skipping it.
Validation: installed-wheel CI passed, with 56 tests and zero failures or skips on each of Python 3.9 and 3.12.
uv lock --checkalso passed. This is a compatibility constraint for the bundled solver; it does not claim a fix to CFFI internals or validation of historical cache-dependent benchmarks.This change is independent of #43 and can be reviewed separately.