-
Notifications
You must be signed in to change notification settings - Fork 69
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
pyproject.toml: Add initial cibuildwheel configuration #157
Conversation
|
From the build log:
Should the wheels be built with a BLAS? Then OpenBLAS would be suitable: It is BSD-licensed, so it can be linked in without a problem. |
|
This could be lifted from https://github.com/numpy/numpy/blob/main/pyproject.toml#L79, https://github.com/numpy/numpy/blob/main/tools/wheels/cibw_before_build.sh |
@mkoeppe This looks amazing! Thank you so much.
Yes, having Blas would be good. An option would be to use our third party wrapper, which would be easy. However, this uses the reference implementation, which is not the best. OpenBlas would be better, but it looks like it might be a little more work to set it up. |
Yes, let's defer the BLAS stuff to a follow-up PR. |
…until it's merged. First, upload on every push and second, only publish to TestPyPI. Once everything is working, we can enable it as intended
... or just set |
To create the sdist, it first installs the package, which requires building it, so I didn't think this could be done without Cbc being present. Is that not right? |
I thought I might be able to get this into some kind of minimally running condition, so I could merge it and at least be able to have auto-generated Linux wheels with the coming release. But it looks like it will require a bit more trial and error to get all the pieces working, so I'll have to come back to it later. I guess I can just make the release fully manually. I would like to generate the Linux wheels locally, though, so I need the changes to the |
You don't need Cbc for building the sdist. It does not put Cython-generated files in the sdist. It's all static. |
Fixed some brokenness in setup.py, now it actually works |
parallelization bug in coin makefiles |
green checkmark on macOS now. |
wheel build fails on
I'll disable it. |
OK, it works. |
The macOS build of CBC failed again as in #157 (comment), perhaps the parallelization needs to be reduced? |
Wheels build now, just checking them before uploading fails:
|
Thank you so much for the help, @mkoeppe! I was trying to figure out what was wrong with the RST, but what's weird is that the twine check passes on the wheels I generated locally and everything looks precisely the same. RST is weird. It seems that PyPI now supports Markup, so I may just switch to that. The last failure is an authentication issue, which I think is just because this is a PR from your fork and so you don't have access to my secrets. You would think that since it's a PR running in the his repo, the secrets would be available, but it seems not. So I will merge this now! |
I did an interactive rebase to clean things up a bit and merged this manually. |
I would still like to get Windows working, but I can upload Windows wheels manually for the time being. |
Time to bump the version? |
No idea here about native Windows builds. My knowledge about Windows ends with Windows NT 4.0 |
Yes, I'm getting ready to flip over to production PyPI and then bump the version number and make a release. I have a pretty good idea on the Windows builds, since we're already doing Windows builds on GH Actions for Cbc. But it's a little more work. Basically, you can use the bash shell provided by MSys2, which is installed on the Windows nodes. |
The source tarball is missing in https://pypi.org/project/cylp/#files |
Sorry, it's there now. I had to upload the wheels manually, since the upload action didn't fire (and would have failed anyway, since I forgot to switch to a PyPI API token). I forgot to upload the source tarball. |
Thanks! |
Fixes #154