Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XpressDirect.available(): check there is a valid license #3400

Merged
merged 4 commits into from
Nov 5, 2024

Conversation

jsiirola
Copy link
Member

@jsiirola jsiirola commented Nov 4, 2024

Fixes # .

Summary/Motivation:

This updates the Xpress direct (and persistent) interfaces so that available() verified that there is a valid license.

Changes proposed in this PR:

  • Add a license check to XpressDirect.available()

Legal Acknowledgement

By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

@mrmundt
Copy link
Contributor

mrmundt commented Nov 4, 2024

So I have feelings about this. Our tests failing tell us if we forgot to renew our licenses, so even though this is correct "in the software engineering" sense, we end up using the failures as an additional way (beyond the solver check job) to ensure that we haven't messed up our solver availability. Happy to be overruled here - it's just a concern.

@jsiirola
Copy link
Member Author

jsiirola commented Nov 4, 2024

This PR is fixing a bug in pyomo: that is, XpressDirect.available() is returning True when in fact the solver is not available.

The fact that we happened to use this failure to notice that our infrastructure is broken is separate. After this PR is merged, the failing tests will be skipped in the Pyomo tests, but the Jenkins StatusCheck_solvers job will now (correctly) start to fail.

Copy link

codecov bot commented Nov 5, 2024

Codecov Report

Attention: Patch coverage is 76.92308% with 3 lines in your changes missing coverage. Please review.

Project coverage is 88.57%. Comparing base (feb8c55) to head (168389d).

Files with missing lines Patch % Lines
pyomo/solvers/plugins/solvers/xpress_direct.py 76.92% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3400      +/-   ##
==========================================
+ Coverage   88.52%   88.57%   +0.05%     
==========================================
  Files         883      883              
  Lines      100334   100343       +9     
==========================================
+ Hits        88820    88880      +60     
+ Misses      11514    11463      -51     
Flag Coverage Δ
linux 86.04% <53.84%> (-0.01%) ⬇️
osx 76.03% <38.46%> (-0.01%) ⬇️
other 86.53% <53.84%> (-0.01%) ⬇️
win 84.38% <38.46%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mrmundt mrmundt merged commit ad90ee2 into Pyomo:main Nov 5, 2024
29 of 30 checks passed
@jsiirola jsiirola deleted the xpress-check-license branch November 6, 2024 21:24
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.

3 participants