-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-11212: [Packaging][Python] Use vcpkg as dependency source for manylinux and windows wheels #9096
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
|
Thanks for opening a pull request! Could you open an issue for this pull request on JIRA? Then could you also rename pull request title in the following format? See also: |
|
Currently integrating with crossbow using pre-built images, the manylinux build already works except the artifact uploading. Passing build under ~19m including testing: https://github.com/ursa-labs/crossbow/runs/1652276423 |
|
@github-actions crossbow submit wheel-manylinux* |
|
Revision: aeb902f4f50e70fb6be844ecaf1283820bee3c64 Submitted crossbow builds: ursa-labs/crossbow @ actions-825 |
|
@xhochy we have a running build for windows on github actions now. I'll do a couple of things to try to improve the build times a bit (make the image smaller because pulling takes ~15m and enable unity builds). Since we don't bundle |
|
@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-manylinux2014-cp36m wheel-windows-cp36m |
|
Revision: 233aabae02f16ef8edf55b5470cb7ab12c58c920 Submitted crossbow builds: ursa-labs/crossbow @ actions-838
|
|
It seems that https://github.com/ursa-labs/crossbow/releases/tag/actions-838-github-wheel-windows-cp36m doesn't have artifacts... |
|
@github-actions crossbow submit wheel-windows-cp36m |
|
The build also executes the tests in a different docker container, see the "Test Wheel" step in the build. The following build should properly upload the windows wheel to crossbow releases now. |
|
Revision: 009d9d049ef48e3cd6e4e17126d6093b25331312 Submitted crossbow builds: ursa-labs/crossbow @ actions-842
|
kou
left a comment
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.
+1
|
@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-manylinux2014-cp36m wheel-windows-cp36m |
|
Revision: b47406064789942bacaea9d3b1d62d5778796d37 Submitted crossbow builds: ursa-labs/crossbow @ actions-844
|
|
@github-actions crossbow submit wheel-* |
|
Revision: 8081526709fc1642d0de3c305e4bb7cfa8af6912 Submitted crossbow builds: ursa-labs/crossbow @ actions-845 |
|
The osx builds shouldn't be failing, but that's out of the scope of this PR. |
|
The OSX issue is that arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake Line 2459 in a576cd7
|
…he cache plugin functional
|
I submitted the crossbow tasks using the CLI, the in-progress results are promising: |
|
@kou this should be ready to merge. One of the arm linux builds is failing with a timeout error in addition to the arm conda drone builds, but these shouldn't block this PR. The latest crossbow submission is here https://github.com/ursacomputing/crossbow/branches/all?query=build-18 |
|
Thanks! I'll merge this. We need to work on some follow-up tasks:
|
@kszucs could you review this please? My main purpose in adding this is to improve the experience for Arrow C++ devs using Windows, but I noticed it also relates to your [TODO in #9096](https://github.com/apache/arrow/pull/9096/files#diff-990134cce6657dbbcf95457cf1a56810a7efa1f6cd58ecc27557c7d6ff45b533R67-R68). vcpkg does not have any `requirements.txt`-style package enumeration mechanism, but it supports this JSON manifest as a mechanism of defining dependencies. In the `vcpkg install` command, you can specify the path to the directory containing this manifest file with `--x-manifest-root` which later will change to `--manifest-root`. See details at https://vcpkg.readthedocs.io/en/stable/specifications/manifests/. There are some differences between the packages listed in this manifest versus the packages you listed in the `vcpkg install` commands in #9096 - This installs `gtest` and `benchmark` - This installs `boost` instead of separate `boost-filesystem`, `boost-regex`, etc. - This does not explicitly include the `core` feature of `aws-sdk-cpp` because explicitly including it causes an error, and it gets installed anyway Closes #9287 from ianmcook/ARROW-11340 Lead-authored-by: Ian Cook <[email protected]> Co-authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Krisztián Szűcs <[email protected]>
Also resolves:
Main features:
Potential follow-up:
cc @kou @xhochy
Manylinux testing
Should be straightforward (I'm going to shared pre-built images for quicker testing).
Windows testing
Only windows host is able to run windows containers. I'm virtualizing windows on macOS (should work on linux as well) using virtualbox:
Now docker should use the windows docker daemon.