-
Notifications
You must be signed in to change notification settings - Fork 5
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
Skbuild #44
Skbuild #44
Conversation
Seems to be working quite well, except that Windows testing is again broken with |
Cool! One issue: I've only made bad experiences with automatic versioning so far... what if you distribute a .tar.gz file which is not a git repo - how's the version "generated" in that case? |
Current status:
|
Thanks 😄 About the versioning... that's exactly what I was talking about above and the reason I always stuck with |
@maxscheurer I'm essentially stuck here. While I would like to, I do not have the time to debug the windows build issues in a VM. Similarly, I've only made |
Sounds quite tricky and annoying 🙈 I wonder at which point one should just give up... I always thought cppe was lightweight enough such that the step from CMake to setup.py/skbuild should be doable, but as you said, debugging Win locally is such a time sink. |
The issue is indeed windows. I managed to get scikit-build-core and cibuildwheel off the ground with a very reasonable amount of iterations... |
Outstanding problems:
|
For the |
It's possible to also produce the |
Now each wheel is built by a separate worker in the workflow. I've removed the |
@maxscheurer I think you need to add some settings in the project's PyPI page to get the upload to work: https://docs.pypi.org/trusted-publishers/adding-a-publisher/ |
I'll take a look, thanks! 😊 |
fetching eigen from tarball (not the git repo) brings the size of the sdist down to a more modest 5 MiB, instead of 100 MiB. 😸 |
I fixed the project settings for test.pypi and normal pypi 😁
|
Looks like we cannot deploy from the fork: https://github.com/maxscheurer/cppe/actions/runs/10159733886/job/28095059187?pr=44 Any idea what to do? Should we merge this and open a separate PR to try the deployment? |
Annoying... What if you merge (if you're happy with the rest!) such that it gets tested? Once we know it works I can patch the workflow to only run on releases |
Yes, only on releases and deployment to the real pypi, not the test one I guess. I'm happy with the rest. One question regarding versioning: that's automatically taken care of by git tags, right? I'm used to |
Yes, setuptools-scm takes the tag and computes the version like versioneer does (as in psi4) So to make a release it's enough to tag it on GitHub. |
Thanks for clarifying! I've never understood how that works in source distributions, i.e., once you don't have a git repo anymore 😁 But yeah I'll try to figure that out myself haha. |
That's taken care of by .git_archival.txt and .gitattributes |
I think I need to push a tag to try the PyPI upload: https://github.com/maxscheurer/cppe/actions/runs/10193155306/job/28197630303 |
If you can make a 0.3.3a0 tag, we'll know more |
Should the tag be |
v0.3.3a0 should be fine :) |
Fingers crossed then... |
It didn't trigger :( maybe the syntax of the workflow for the triggers needs to be extended |
There's a difference between published and created https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=published#release If you make a release in the GitHub ui (using the existing tag) the workflow should trigger |
This PR will "hide" CMake usage behind
pip install
thanks toscikit-build-core
. This means that to work with CPPE from its source, you'll have to runpip install .
. The first warning in the topCMakeLists.txt
explains it: