-
Notifications
You must be signed in to change notification settings - Fork 13
Add workflow for building wheels and publishing releases to PyPI #235
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
Conversation
Marking this as draft for now as looks like building on at least some of current platforms being targetted will be problematic. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #235 +/- ##
=======================================
Coverage 93.28% 93.28%
=======================================
Files 29 29
Lines 3170 3170
=======================================
Hits 2957 2957
Misses 213 213 ☔ View full report in Codecov by Sentry. |
The builds on Error output when building on MacOS x86_64
Looks to be some compatibility issue with |
@matt-graham awesome stuff, I can add you as a maintainer to Might want to hold off on this whilst we wrap up the current core infrastructure work. When we next aim to make a release we should do so through merging this PR, how does that sound? |
If you're happy to add me as a maintainer on PyPI then yep that would probably simplify things as I can set up the trusted publishing myself then - my PyPI account is https://pypi.org/user/MattGraham/. If it's okay to also add me as with
That sounds reasonable. |
@matt-graham Definitely happy to add you, you're one of the original contributors on the code and therefore should have had these privileges regardless! You should have a maintainer invitation to |
Just to note, a new |
@matt-graham great stuff, will this also increment the version number of the code or is this something we'll need to do manually? |
|
Should resolve #214
Adds a GitHub Actions workflow with a job using
cibuildwheel
to build binary wheels across multiple differing platforms and a second job building asdist
(source distribution), for each push tomain
, on pull-requests and published releases, uploading the built wheels as artefacts. For published releases specifically, a third job will upload the built wheels andsdist
to Test PyPI and then if that is successful upload to the main PyPI repository.This workflow is adapted from the example at
https://github.com/pypa/cibuildwheel/blob/3d3159b37bcd2c183583b67136b5f5de757e8232/examples/github-deploy.yml
and associated tutorial. For the publishing to PyPI job to work, we will need to configure trusted publishing to allow GitHub Actions to publish to the
s2fft
PyPI project - this will need to be set up by @CosmoMatt as it looks like you are the current maintainer of project on PyPI.