-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Build arm64/aarch64 Linux wheels #3092
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
6b4c720 to
a8dd2b4
Compare
| @@ -1,4 +1,3 @@ | |||
| #!/bin/sh | |||
| . "$(dirname "$0")/_/husky.sh" | |||
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.
husky was warning loudly that this is deprecated and will soon cause errors. The contents of that file now do nothing but echo that warning, so I think it is safe to heed it and remove this.
|
It appears the setup_cmake action doesn't yet support arm64/aarch64. See:
I'll fork, use the fork here to test it, then submit a PR to the action upstream. |
|
Pointed it to my fork of the cmake action. PR to upstream jwlawson/actions-setup-cmake#83 |
|
Hey @tomjakubowski thanks for working on this! I don't know if you were influenced by my issue #3091 ? I ran into the same problems as you and propose solutions in #3093. |
4ce4352 to
34ec5e5
Compare
Signed-off-by: Tom Jakubowski <tom@prospective.dev>
ce20ca4 to
b303c56
Compare
- Use fork of actions-setup-cmake install until arm support is upstreamed <jwlawson/actions-setup-cmake#83> - Add arm runner to matrix + use manylinux container - Upload built artifacts Signed-off-by: Tom Jakubowski <tom@prospective.dev>
b303c56 to
85001c3
Compare
|
@Oblynx continuing discussion from your related PR: #3093 Thanks again for your work! I've cherry-pick your commits onto my branch and fixed up a couple remaining items to get this ready to ship. It looks like correcting the unnecessary downloading of the protoc binary, which we discussed on your PR, is actually enough to fix the disk space issues in the Python builds for now. I've also added some |
- Ensure rustup gets the version appropriate for the architecture - Add a manylinux container for arm - Fix target for native arm compilation - Fix cmake install in pagmo2/arm64 - Fix protoc arch in cmake Signed-off-by: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com> Signed-off-by: Tom Jakubowski <tom@prospective.dev>
- Simplify arch detection in cmake - Try not reinstalling rustup - Use the existing method of installing protoc correctly Signed-off-by: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com> Signed-off-by: Tom Jakubowski <tom@prospective.dev>
`Path::parent()` returns `None` for root and empty paths, so handle it by panicking in this case. In this case it should never happen under non-contrived circumstances. Signed-off-by: Tom Jakubowski <tom@prospective.dev>
These builds are on a knife's edge currently with respect to disk space. I think it is worth logging `df` output so we can keep an eye on it. Signed-off-by: Tom Jakubowski <tom@prospective.dev>
f32be2e to
cbfe4ec
Compare
texodus
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.
Thanks for the PR! Looks good!
I have run a full build on this branch and it passed ... on the second try, failing the first due to disk space on the x64 python build step. I am a bit concerned we are so close to the disk space limit for these machines, this failure is going to be an ongoing problem for CI builds. Flattening out the protoc duplication is a great step!
|
|
||
| - name: Run df -h | ||
| if: ${{ runner.os == 'Linux' }} | ||
| run: df -h |
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.
I appreciate the thought to include these, but I may prune them in the future for brevity!
|
@texodus can we release the new wheels? Thanks for merging! |
|

Add aarch64 Linux wheel to the build, and include it in the release artifacts.
Combined effort with @Oblynx from #3093.
Also:
df -hinvocations to the Python job to monitor disk free space.