Uh oh!
There was an error while loading. Please reload this page.
ARROW-11212: [Packaging][Python] Use vcpkg as dependency source for manylinux and windows wheels - #9096
ARROW-11212: [Packaging][Python] Use vcpkg as dependency source for manylinux and windows wheels#9096kszucs wants to merge 45 commits into
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 |
kszucs
commented
Jan 5, 2021
@github-actions crossbow submit wheel-manylinux* |
Revision: aeb902f4f50e70fb6be844ecaf1283820bee3c64 Submitted crossbow builds: ursa-labs/crossbow @ actions-825 |
kszucs
commented
Jan 6, 2021
@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 |
kszucs
commented
Jan 7, 2021
@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-manylinux2014-cp36m wheel-windows-cp36m |
Revision: 233aabae02f16ef8edf55b5470cb7ab12c58c920 Submitted crossbow builds: ursa-labs/crossbow @ actions-838
|
kszucs
commented
Jan 7, 2021
kou
commented
Jan 7, 2021
It seems that https://github.com/ursa-labs/crossbow/releases/tag/actions-838-github-wheel-windows-cp36m doesn't have artifacts... |
kszucs
commented
Jan 7, 2021
@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
|
Uh oh!
There was an error while loading. Please reload this page.
kszucs
commented
Jan 8, 2021
@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-manylinux2014-cp36m wheel-windows-cp36m |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Revision: b47406064789942bacaea9d3b1d62d5778796d37 Submitted crossbow builds: ursa-labs/crossbow @ actions-844
|
kszucs
commented
Jan 8, 2021
@github-actions crossbow submit wheel-* |
Revision: 8081526709fc1642d0de3c305e4bb7cfa8af6912 Submitted crossbow builds: ursa-labs/crossbow @ actions-845 |
kszucs
commented
Jan 8, 2021
The osx builds shouldn't be failing, but that's out of the scope of this PR. |
xhochy
commented
Jan 8, 2021
The OSX issue is that arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake Line 2459 in a576cd7 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
kszucs
commented
Jan 14, 2021
I submitted the crossbow tasks using the CLI, the in-progress results are promising: |
kszucs
commented
Jan 14, 2021
@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 |
kou
commented
Jan 14, 2021
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 <ianmcook@gmail.com> Co-authored-by: Sutou Kouhei <kou@clear-code.com> Signed-off-by: Krisztián Szűcs <szucs.krisztian@gmail.com>
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.