From 819a7389ec8281b6dd5a40480baacca541adb595 Mon Sep 17 00:00:00 2001 From: Brandon Springer Date: Mon, 22 Jun 2026 14:00:25 -0400 Subject: [PATCH] ci: restore x86_64 Linux wheels in publish matrix 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. --- .github/workflows/publish.yml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5b38a3a..baec6ab 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -55,7 +55,11 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest] + # ubuntu-latest is intentionally NOT a base os: its Linux targets are + # listed explicitly under include so each arch gets its own job. Adding + # them here as base rows would let the aarch64 include entries merge into + # (and overwrite the target of) the native x86_64 rows, dropping x86_64. + os: [windows-latest] python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] include: # macOS ARM64 (native on macos-latest which is ARM) @@ -90,6 +94,22 @@ jobs: - os: macos-latest target: x86_64-apple-darwin python-version: "3.14" + # Linux x86_64 (native on ubuntu-latest via maturin-action) + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + python-version: "3.10" + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + python-version: "3.11" + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + python-version: "3.12" + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + python-version: "3.13" + - os: ubuntu-latest + target: x86_64-unknown-linux-gnu + python-version: "3.14" # Linux ARM64 (cross-compiled on ubuntu-latest via maturin-action) - os: ubuntu-latest target: aarch64-unknown-linux-gnu