-
Notifications
You must be signed in to change notification settings - Fork 30
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
Switch to using Conda binaries #218
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #218 +/- ##
==========================================
- Coverage 56.64% 49.67% -6.97%
==========================================
Files 9 9
Lines 4288 4815 +527
==========================================
- Hits 2429 2392 -37
- Misses 1859 2423 +564 ☔ View full report in Codecov by Sentry. |
@joaquim should I add Windows too? You'll probably want to test this with your PSR binaries and license before we merge. |
4fc1382
to
30d7841
Compare
Very nice! FWIW I just did a quick test in Windows, and it seems to work perfectly (as a user, did not test CI). One caveat is that this is not a pristine system (just renamed my xpress folder), and the license file was found automatically. I suspect this might be from a previous install. What is the recommended way to provide the location of the license file when binaries are provided automatically? |
Did you use one of the intermediate commits? I removed automatic from the latest commit. We need to document, but it would be to set the |
Weird, now it doesn't work anymore. I think maybe I was relying on the results from a previous Pkg.build for it to work, and switching between this branch and the release version didn't trigger a rebuild. When I lost contact with the license server, I did a manual build and since then it doesn't work anymore. (the need to rebuild after losing the license server is rather annoying). |
I think I figured it out, I reenabled the artifact for windows, then I get the same permissions error as you mentioned in an earlier comment. elseif Sys.iswindows() # Use the artifact instead.
const xpressdlpath = joinpath(
LazyArtifacts.artifact"xpresspy",
joinpath("Lib", "site-packages", "xpress", "lib"),
)
chmod(dirname(xpressdlpath), 0o755; recursive=true)
const libxprs = joinpath(xpressdlpath, "xprs.dll")
|
Oh nice! Let me try that |
Niiiiice. One thing was talking to @simonbowly about. I wonder if it makes sense to split the binaries into an Otherwise everytime we change the Artifacts.toml it's a potential breaking change to Xpress.jl. |
See #220 That might take a while to tag and release etc, so we should do this PR first. That'll let me make some progress on open issues, and we can decide what to do before we tag the next release. |
I will test here to |
I am not sure about the consequences of adding the artifacts. Maybe a weakdep on Xpress_jll? |
The artifacts are lazy, so they should only be downloaded if you use them. |
I think ideally, we'd all just use Xpress_jll and Gurobi_jll, and version them appropriately. No more installation issues. |
@joaquimg can you try this branch? It should use the binaries only if |
Closing in favor of #221 |
Xpress publish binaries on Conda: https://anaconda.org/fico-xpress/xpress/files
They include a community license. If this works, it would greatly simplify things, and we'd be using their official binaries.
Closes #217