magland / isosplit6

Isosplit clustering
Apache License 2.0
3 stars 3 forks source link

Add cibuildwheels #2

Closed JoeZiminski closed 12 months ago

JoeZiminski commented 12 months ago

Hi @magland, this PR adds CI for cibuildwheels which is a nice tool that automates building many wheels cross-platform using CI. These can then be downloaded either from the Actions page Summary (at the bottom) once the workflow has run, or this could be configured to run and automatically push to pypi on new version release.

Currently this runs on: [push, pull_request] but maybe it would be better to either run with a commit prompt, or on new version release and deploy to pypi.

A summary of the changes:

An example of the output is here, the wheels can be downloaded manually from the Artifacts section under the Summary tab.

magland commented 12 months ago

Thank you so much, this looks great!

Question... I don't see anything here about the fix you proposed in https://github.com/flatironinstitute/mountainsort5/issues/6 to get this to build on mac...

JoeZiminski commented 12 months ago

No problem! I think once the generated wheels are uploaded to pypi, if a wheel exists for the OS then that will be automatically downloaded rather than the having to build the package from the tar source file. So in the case of that issue (presuming all has worked correctly) it should not be necessary to build from source at all. Or, if their macOS version is not working with the available wheels we can re-configure cibuildwheel to cover that case too.

Currently (I am not so familiar with this) I believe the wheels have to be generated by the CI then manually added to the pypi page like this.

However, maybe it is easier to create a deploy.yml similar to mountainsort's that will test and build the package, as well as building and depliying the wheels to pypi automatically; happy to make a PR on this!

magland commented 12 months ago

However, maybe it is easier to create a deploy.yml similar to mountainsort's that will test and build the package, as well as building and depliying the wheels to pypi automatically; happy to make a PR on this!

If you are willing to do it, that would be awesome!

JoeZiminski commented 11 months ago

Hi @magland sorry for the delay! am happy to will make an issue and assign to myself

magland commented 11 months ago

@JoeZiminski should I go ahead and merge this PR?