Skip to content
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

Merged
merged 52 commits into from Aug 24, 2021
Merged

add ci build workflow #65

merged 52 commits into from Aug 24, 2021

Conversation

brownj85
Copy link
Collaborator

@brownj85 brownj85 commented Aug 12, 2021

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:

@github-actions
Copy link

github-actions bot commented Aug 12, 2021

Test Report (C++) on Ubuntu

    1 files  ±0      1 suites  ±0   0s ⏱️ ±0s
521 tests ±0  521 ✔️ ±0  0 💤 ±0  0 ❌ ±0 
870 runs  ±0  870 ✔️ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 3647678. ± Comparison against base commit 23f2e6b.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Aug 12, 2021

Test Report (Python) on Ubuntu

    1 files  ±0      1 suites  ±0   8s ⏱️ -2s
554 tests ±0  554 ✔️ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 3647678. ± Comparison against base commit 23f2e6b.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@Mandrenkov Mandrenkov left a 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.

.github/CHANGELOG.md Outdated Show resolved Hide resolved
.github/workflows/wheels.yml Show resolved Hide resolved
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
Copy link
Collaborator

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?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it shouldn't. The documentation here and here says that this refers to the minimum supported macOS version

Copy link
Member

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

Copy link
Collaborator Author

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).

.github/workflows/wheels.yml Outdated Show resolved Hide resolved
.github/workflows/wheels.yml Outdated Show resolved Hide resolved
.github/workflows/wheels.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@Mandrenkov Mandrenkov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome!

.github/CHANGELOG.md Outdated Show resolved Hide resolved
brownj85 and others added 2 commits August 24, 2021 11:42
Co-authored-by: Mikhail Andrenkov <Mandrenkov@users.noreply.github.com>
@brownj85 brownj85 merged commit f94c27e into main Aug 24, 2021
@brownj85 brownj85 deleted the cibuild branch August 24, 2021 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants