-
Notifications
You must be signed in to change notification settings - Fork 2.2k
ci: add android test #5714
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
ci: add android test #5714
Conversation
736ef07
to
898186c
Compare
75a86b8
to
2ff65e5
Compare
@mhsmith Had to install wheel and patchelf, and now it's failing at the test step on all three systems. |
81bec67
to
c137b4f
Compare
The current failures are because KVM hasn't been enabled on Linux, and GitHub Actions isn't able to run the Android emulator on macOS. Both of these are discussed in pypa/cibuildwheel#2349.
But this PR-against-PR workflow is confusing, so would it be simpler if I created my own PR to replace this one? Since you're a member of the pybind11 project, we would both be able to push to it. |
I'm fine if you make a PR, but I'm fine to give you access to my fork. |
Thanks, that works too. |
OK, I've updated the GitHub Actions configuration as discussed in my previous comment, and the Android jobs are passing now. To enable local testing, I also moved the |
Android: can't find wheel in path? The iOS 3.14 failure is expected (pypa/cibuildwheel#2494). |
I've added I think this PR is now ready to merge. |
.github/workflows/tests-cibw.yml
Outdated
# TODO: remove "wheel" once we're using a cibuildwheel version that includes | ||
# https://github.com/pypa/cibuildwheel/pull/2515. | ||
- run: pipx install wheel patchelf |
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.
# TODO: remove "wheel" once we're using a cibuildwheel version that includes | |
# https://github.com/pypa/cibuildwheel/pull/2515. | |
- run: pipx install wheel patchelf | |
- run: pipx install patchelf |
I guess we still need patchelf
? Is that something cibuildwheel should install?
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.
Actually, I see it's on PyPI for both Linux and macOS, so maybe we could make it a dependency of cibuildwheel.
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.
Does it have to be co-installed with cibuildwheel? cibuildwheel shouldn't depend on compiled dependencies. But in an environment is fine. I haven't looked at where it's used.
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.
Actually on Linux cibuildwheel already depended on patchelf via auditwheel, but neither of them needed to be declared as a Python-level dependency because they're installed in the manylinux Docker image.
On Android, cibuildwheel uses patchelf in a more limited way to deal with linking against the C++ library. I'm planning to eventually move that functionality into auditwheel, and then cibuildwheel will be able to use the same auditwheel "repair" command on both Linux and Android.
Does it have to be co-installed with cibuildwheel? cibuildwheel shouldn't depend on compiled dependencies.
We could use environment markers to limit the dependency to the Linux or Mac platforms that support the Android build tools. patchelf appears to have all the necessary wheels.
Signed-off-by: Henry Schreiner <[email protected]>
* Android tests working * Clarifications
Signed-off-by: Henry Schreiner <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
a825163
to
8fd25d6
Compare
Description
Testing pypa/cibuildwheel#2349.
Suggested changelog entry:
📚 Documentation preview 📚: https://pybind11--5714.org.readthedocs.build/