ci: restore x86_64 Linux wheels in publish matrix#91
Open
brandon-springer wants to merge 1 commit into
Open
Conversation
The build-wheels matrix listed ubuntu-latest as a base os with no target, producing native manylinux x86_64 wheels, and added aarch64 Linux builds via include entries keyed on os: ubuntu-latest + python-version. GitHub Actions merges an include entry into an existing matrix combination when its base-dimension keys (os, python-version) match, rather than creating a new combination. The aarch64 includes therefore grafted their target onto the existing ubuntu-latest rows, overwriting the empty target and replacing the native x86_64 builds instead of running alongside them. The result: 0.3.10 shipped manylinux_2_28_aarch64 wheels and no x86_64 Linux wheels, so pip on x86_64 Linux falls back to building from sdist. Drop ubuntu-latest from the base os list and declare both x86_64 and aarch64 Linux targets as explicit include entries so each arch gets its own job.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
0.3.10shippedmanylinux_2_28_aarch64wheels for cp310–cp314 and no x86_64 Linux wheels (0.3.9had the reverse: x86_64 only, no aarch64). On x86_64 Linux, pip now finds no compatible wheel and falls back to building the Rust extension from sdist (or fails without a toolchain).Cause
The
build-wheelsmatrix listedubuntu-latestas a baseoswith notarget(native x86_64), and added aarch64 Linux builds asincludeentries keyed onos: ubuntu-latest+python-version.GitHub Actions merges an
includeentry into an existing matrix combination when its base-dimension keys (os,python-version) all match, instead of creating a new combination. So each aarch64 include grafted itstargetonto the matching native ubuntu row, overwriting the empty target — replacing the x86_64 builds rather than running beside them. Wheel count stayed the same; the Linux arch silently flipped.Fix
Drop
ubuntu-latestfrom the baseoslist and declare bothx86_64-unknown-linux-gnuandaarch64-unknown-linux-gnuas explicitincludeentries. Sinceos: ubuntu-latestno longer matches any base combination, each entry creates its own job.Resulting matrix: 25 jobs — windows (5), Linux x86_64 (5), Linux aarch64 (5), macOS arm64 (5), macOS x86_64 (5).