-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Move aarch64 / arm64 to native github runner #18269
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
… don't provide packages for that anyway
Preliminary question: should we not just remove Python.yml? And have this handled at the duckdb/duckdb-python workflow level? I think the rest looks to OK |
Definitely, we should and will, but this job will probably still run for a few weeks so may as well save some CI time. |
manylinux: [manylinux_2_28] | ||
platform: | ||
- { os: ubuntu-24.04, arch: x86_64 } | ||
- { os: ubuntu-24.04-arm, arch: aarch64 } |
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.
LGTM, nice that you've replaced QEMU with the GH arm runner!
python_build: 'cp312-*' | ||
- isRelease: false | ||
arch: aarch64 | ||
- { isRelease: false, python: cp310 } |
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.
May I ask a question, why do we switch from versions with sub-tag like cp310-*
to versions without sub-tag cp310
? It's just for information to me, otherwise I think the PR only makes thing better for python client.
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.
Well, the result will be the same, but now we're explicit about what we want to build.
The value here is used to populate CIBW_BUILD
and technically, if we set e.g. CIBW_BUILD=cp9-*
, this tells cibuildwheel to build for Python 3.9 on all platforms that it knows and can. That includes manylinux, mussllinux, win, osx, etc on all archs it knows for these systems. The reason it only built for manylinux x86_64 and aarch64 was that 1. the runner is Ubuntu and on Ubuntu it can only build for Linux and 2. CIBW_SKIP
was set to exclude musllinux.
So now we just set CIBW_BUILD
to exactly that what we want to build, namely ${{ matrix.python }}-manylinux_${{ matrix.platform.arch }}
.
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 explaining it!
Thanks! |
backport 'Unit Tester Configuration' pt2 (duckdb/duckdb#18282) Bump vcpkg-duckdb-ports to solve OSX linking (duckdb/duckdb#18268) Move aarch64 / arm64 to native github runner (duckdb/duckdb#18269) [Fix] Adjust test for smaller block sizes (duckdb/duckdb#18255) Bump vcpkg-duckdb-ports and test extensions on Windows 10 default stdlib (duckdb/duckdb#18205)
backport 'Unit Tester Configuration' pt2 (duckdb/duckdb#18282) Bump vcpkg-duckdb-ports to solve OSX linking (duckdb/duckdb#18268) Move aarch64 / arm64 to native github runner (duckdb/duckdb#18269) [Fix] Adjust test for smaller block sizes (duckdb/duckdb#18255) Bump vcpkg-duckdb-ports and test extensions on Windows 10 default stdlib (duckdb/duckdb#18205) Co-authored-by: krlmlr <krlmlr@users.noreply.github.com>
For some reason #18269 didn't make it into the merge with main last week. These are the same two commits, cherry picked onto main.
Issue: https://github.com/duckdblabs/duckdb-internal/issues/5320
Note: I also changed the
linux-python3-10
job to only run on manylinux and not on musllinux as well. This is the only place we build on musllinux (and only implicitly) and my guess is that this is by accident since we don't build wheels for musllinux.