Skip to content

CI: try fixing spopt reverse dependency testing#806

Merged
gegen07 merged 8 commits into
pysal:mainfrom
martinfleis:spopt-reverse
Oct 2, 2025
Merged

CI: try fixing spopt reverse dependency testing#806
gegen07 merged 8 commits into
pysal:mainfrom
martinfleis:spopt-reverse

Conversation

@martinfleis

Copy link
Copy Markdown
Member

We have also momepy failing there but that is already fixed there and requires a release.

@martinfleis martinfleis marked this pull request as draft September 25, 2025 07:59
@codecov

codecov Bot commented Sep 25, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.4%. Comparing base (f134a92) to head (e47859e).
⚠️ Report is 13 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main    #806     +/-   ##
=======================================
- Coverage   85.4%   85.4%   -0.0%     
=======================================
  Files        150     150             
  Lines      15951   15954      +3     
=======================================
+ Hits       13618   13620      +2     
- Misses      2333    2334      +1     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@martinfleis martinfleis marked this pull request as ready for review September 25, 2025 09:27
@martinfleis

Copy link
Copy Markdown
Member Author

I gave up as I got no clue how to make Pulp behave. the only red is momepy now.

@jGaboardi jGaboardi requested a review from gegen07 September 25, 2025 13:25
@jGaboardi

Copy link
Copy Markdown
Member

@martinfleis - Did we want to try more fixing the PuLP install or give up for now?

@martinfleis

Copy link
Copy Markdown
Member Author

@jGaboardi if you have any idea how to go about it, I am not against.

@jGaboardi

Copy link
Copy Markdown
Member

@jGaboardi if you have any idea how to go about it, I am not against.

I don't have time these next few days to look in it. Do you have any ideas @gegen07 ?

I'll go ahead and approve this now if we want to circle back and look at the PuLP stuff later.

@gegen07

gegen07 commented Oct 1, 2025

Copy link
Copy Markdown
Member

@martinfleis @jGaboardi
I think I gotcha, if the pulp is installed using conda-forge we will not have permission to use PULP_CBC_CMD. One possible workaround is to change the feedstock recipe. Installing pulp from conda-forge is causing an error here at reverse dependency testing because neither glpk nor coincbc are described as necessary.

Note that spopt environment file requires glpk. We can choose just one solver as default glpk or cbc, then do the changes across the environment. I vote for maintaining glpk as in environment.yml, then propagate the changes to the tests (change PULP_CBC_CMD to GLPK_CMD).

@martinfleis

Copy link
Copy Markdown
Member Author

One possible workaround is to change the feedstock recipe. Installing pulp from conda-forge is causing an error here at reverse dependency testing because neither glpk nor coincbc are described as necessary.

That sounds like something the recipe should solve. If installing pulp is not enough to make pulp-based code running, we need to include the additional dependencies.

@martinfleis

Copy link
Copy Markdown
Member Author

@gegen07 neither adding coincbc or glpk solves the issue.

@martinfleis

Copy link
Copy Markdown
Member Author

Forcing pulp from PyPI solves it, though it is a bit ugly.

@gegen07 Any idea why conda-forge installation does not work? Seems like a bug in pulp recipe, no?

@gegen07

gegen07 commented Oct 1, 2025

Copy link
Copy Markdown
Member

Yep! I did a fresh spopt installation, adding coin-or-cbc package in environment.yml, and it's still not working. I think we are using a solver (PULP_COIN_CMD) that is only installed when using PyPI version.

If we change the solver to COIN_CMD it worked and the tests did not break. I'll do the changes later this week on spopt to use only conda dependencies. 👍🏻

@gegen07 gegen07 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Ready to be merged!

@gegen07 gegen07 merged commit 0fc640f into pysal:main Oct 2, 2025
12 checks passed
@jGaboardi

Copy link
Copy Markdown
Member

@martinfleis great work on this 🙇

@gegen07 very much appreciate your help here 🙇

@knaaptime

Copy link
Copy Markdown
Member

looks like it is a conda-forge thing conda-forge/pulp-feedstock#22

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants