-
Notifications
You must be signed in to change notification settings - Fork 14
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
add ci build workflow #65
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks fantastic - thanks Jack! I only have a few minor suggestions and questions.
cibw_before_all: yum install -y openblas-devel | ||
cibw_environment: CBLAS_ROOT=/usr/include/openblas | ||
- os: macos-latest | ||
cibw_environment: MACOSX_DEPLOYMENT_TARGET=10.14 # Required for C++17 support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will fail when macos-latest
points to Big Sur, right? If so, should we specify macos-10.15
explicitly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@brownj85 out of curiosity, is it relatively easy to support macos arm as well? I'm just thinking about the new M1 chip
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@josh146, in general yes, though we'd need a self-hosted runner to do automated testing. However the wheels wouldn't be pip installable because numba (via thewalrus) does not support macos arm (see numba/llvmlite#693).
Co-authored-by: Mikhail Andrenkov <[email protected]>
Co-authored-by: Mikhail Andrenkov <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome!
Co-authored-by: Mikhail Andrenkov <[email protected]>
Context:
Building wheels in CI will make releasing Jet on PyPI much easier. cibuildwheel makes packaging wheels for all the different combinations of platforms and python versions much easier.
Description of the Change:
Adds a workflow using cibuildwheel that builds and tests wheels for python versions 3.7, 3.8, and 3.9 on Linux-x86_64 macOS-x86_64. The wheels are uploaded as build artifacts.
The workflow is triggered on the creation of a release, since the job is pretty heavy. It can also be triggered manually (see https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow), though unfortunately this PR has to be merged first.
Benefits:
Uses best practices for building wheels. In future, it can be extended to automatically upload wheels to PyPI.
Possible Drawbacks:
Related GitHub Issues: