What needs to happen?
Python wheel workflow currently builds Linux aarch64 wheel on an ubuntu-22.04 x64 GitHub-hosted runner through QEMU.
In a representative PR run, aarch64 Python 3.14 leg took 91 minutes and determined almost all workflow latency. Other active legs took 5 to 26 minutes:
GitHub provides standard ubuntu-24.04-arm runners for public repositories. Other Apache projects already use them for native wheel builds. For example, Arrow Nanoarrow runs cibuildwheel on ubuntu-24.04-arm; a recent Linux ARM64 job completed successfully in about 11 minutes:
Could someone familiar with Beam Infra or Apache runner constraints confirm whether this wheel leg can use ubuntu-24.04-arm, or whether current QEMU path is intentional?
A bounded experiment could switch only aarch64 matrix row to native ARM, use CIBW_ARCHS_LINUX=auto, and skip QEMU for that row. Validation should compare wheel platform tags, auditwheel show, installation/import smoke tests, existing wheel tests, and wall-clock time against current QEMU job.
Issue Priority
Priority: 2 (default / most normal work should be filed as P2)
Issue Components
What needs to happen?
Python wheel workflow currently builds Linux aarch64 wheel on an
ubuntu-22.04x64 GitHub-hosted runner through QEMU.In a representative PR run, aarch64 Python 3.14 leg took 91 minutes and determined almost all workflow latency. Other active legs took 5 to 26 minutes:
GitHub provides standard
ubuntu-24.04-armrunners for public repositories. Other Apache projects already use them for native wheel builds. For example, Arrow Nanoarrow runscibuildwheelonubuntu-24.04-arm; a recent Linux ARM64 job completed successfully in about 11 minutes:Could someone familiar with Beam Infra or Apache runner constraints confirm whether this wheel leg can use
ubuntu-24.04-arm, or whether current QEMU path is intentional?A bounded experiment could switch only aarch64 matrix row to native ARM, use
CIBW_ARCHS_LINUX=auto, and skip QEMU for that row. Validation should compare wheel platform tags,auditwheel show, installation/import smoke tests, existing wheel tests, and wall-clock time against current QEMU job.Issue Priority
Priority: 2 (default / most normal work should be filed as P2)
Issue Components