From 1e02347175d87cd729e10af31b48c4d4f42f18ed Mon Sep 17 00:00:00 2001 From: gngpp Date: Sat, 11 Apr 2026 15:31:01 +0800 Subject: [PATCH 1/6] build(ci): fix free-threaded wheel builds on Windows via maturin --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5ebdd9b..791ab5d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -191,6 +191,11 @@ jobs: environment: Windows strategy: matrix: + exclude: + - build_type: + name: free-threaded + platform: + target: aarch64 build_type: - name: standard maturin_args: "--find-interpreter" From e4552ff141027c0c79c1cc6e05160dd113c98d0f Mon Sep 17 00:00:00 2001 From: gngpp Date: Sat, 11 Apr 2026 15:34:28 +0800 Subject: [PATCH 2/6] build(ci): fix free-threaded wheel builds on Windows via maturin --- .github/workflows/ci.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 791ab5d..7c93f4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -191,11 +191,6 @@ jobs: environment: Windows strategy: matrix: - exclude: - - build_type: - name: free-threaded - platform: - target: aarch64 build_type: - name: standard maturin_args: "--find-interpreter" @@ -210,9 +205,10 @@ jobs: target: x86 allocator: mimalloc python-architecture: x86 - - runner: windows-latest + - runner: windows-11-arm target: aarch64 allocator: mimalloc + python-architecture: arm64 steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -228,7 +224,7 @@ jobs: with: maturin-version: ${{ env.MATURIN_VERSION }} target: ${{ matrix.platform.target }} - args: --release --out dist ${{ matrix.platform.target != 'aarch64' && matrix.build_type.maturin_args || '' }} --features ${{ matrix.platform.allocator || '' }} + args: --release --out dist ${{ matrix.build_type.maturin_args }} --features ${{ matrix.platform.allocator || '' }} sccache: "false" - name: Upload wheels uses: actions/upload-artifact@v7 From 06043d96db8882881982d8c5b269af37c39368cd Mon Sep 17 00:00:00 2001 From: gngpp Date: Sat, 11 Apr 2026 15:44:53 +0800 Subject: [PATCH 3/6] build(ci): fix free-threaded wheel builds on Windows via maturin --- .github/workflows/ci.yml | 49 ++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7c93f4f..441ea95 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -187,34 +187,59 @@ jobs: path: dist windows: - runs-on: ${{ matrix.platform.runner }} + runs-on: ${{ matrix.runner }} environment: Windows strategy: matrix: - build_type: - - name: standard + include: + - runner: windows-latest + target: x64 + allocator: mimalloc + python-architecture: x64 + build_type_name: standard maturin_args: "--find-interpreter" - - name: free-threaded - maturin_args: "--interpreter 3.13t 3.14t" - platform: + cargo_args: "" + - runner: windows-latest + target: x86 + allocator: mimalloc + python-architecture: x86 + build_type_name: standard + maturin_args: "--find-interpreter" + cargo_args: "" + - runner: windows-latest + target: aarch64 + allocator: mimalloc + python-architecture: x64 + build_type_name: standard + maturin_args: "" + cargo_args: "" - runner: windows-latest target: x64 allocator: mimalloc python-architecture: x64 + build_type_name: free-threaded + maturin_args: "--interpreter 3.13t 3.14t" + cargo_args: "--no-default-features" - runner: windows-latest target: x86 allocator: mimalloc python-architecture: x86 - - runner: windows-11-arm + build_type_name: free-threaded + maturin_args: "--interpreter 3.13t 3.14t" + cargo_args: "--no-default-features" + - runner: windows-latest target: aarch64 allocator: mimalloc - python-architecture: arm64 + python-architecture: x64 + build_type_name: free-threaded + maturin_args: "--interpreter 3.13t 3.14t" + cargo_args: "--no-default-features" steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 with: python-version: 3.x - architecture: ${{ matrix.platform.python-architecture || 'x64' }} + architecture: ${{ matrix.python-architecture || 'x64' }} - name: Install NASM run: | choco install nasm -y @@ -223,13 +248,13 @@ jobs: uses: PyO3/maturin-action@v1 with: maturin-version: ${{ env.MATURIN_VERSION }} - target: ${{ matrix.platform.target }} - args: --release --out dist ${{ matrix.build_type.maturin_args }} --features ${{ matrix.platform.allocator || '' }} + target: ${{ matrix.target }} + args: --release --out dist ${{ matrix.maturin_args }} ${{ matrix.cargo_args }} --features ${{ matrix.allocator || '' }} sccache: "false" - name: Upload wheels uses: actions/upload-artifact@v7 with: - name: wheels-windows-${{ matrix.platform.target }}-${{ matrix.build_type.name }} + name: wheels-windows-${{ matrix.target }}-${{ matrix.build_type_name }} path: dist macos: From 3910b2614367e13625f0f2aa7fc1d56485148366 Mon Sep 17 00:00:00 2001 From: gngpp Date: Sat, 11 Apr 2026 15:58:40 +0800 Subject: [PATCH 4/6] update --- .github/workflows/ci.yml | 57 ++++++++++++---------------------------- 1 file changed, 17 insertions(+), 40 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 441ea95..facfc27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -187,59 +187,36 @@ jobs: path: dist windows: - runs-on: ${{ matrix.runner }} + runs-on: windows-latest environment: Windows strategy: matrix: - include: - - runner: windows-latest - target: x64 - allocator: mimalloc - python-architecture: x64 - build_type_name: standard - maturin_args: "--find-interpreter" - cargo_args: "" - - runner: windows-latest - target: x86 - allocator: mimalloc - python-architecture: x86 - build_type_name: standard + build_type: + - name: standard maturin_args: "--find-interpreter" cargo_args: "" - - runner: windows-latest - target: aarch64 - allocator: mimalloc - python-architecture: x64 - build_type_name: standard - maturin_args: "" - cargo_args: "" - - runner: windows-latest - target: x64 - allocator: mimalloc - python-architecture: x64 - build_type_name: free-threaded + - name: free-threaded maturin_args: "--interpreter 3.13t 3.14t" cargo_args: "--no-default-features" - - runner: windows-latest - target: x86 + platform: + - target: x64 + allocator: mimalloc + python-architecture: x64 + use_standard_maturin_args: true + - target: x86 allocator: mimalloc python-architecture: x86 - build_type_name: free-threaded - maturin_args: "--interpreter 3.13t 3.14t" - cargo_args: "--no-default-features" - - runner: windows-latest - target: aarch64 + use_standard_maturin_args: true + - target: aarch64 allocator: mimalloc python-architecture: x64 - build_type_name: free-threaded - maturin_args: "--interpreter 3.13t 3.14t" - cargo_args: "--no-default-features" + use_standard_maturin_args: false steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 with: python-version: 3.x - architecture: ${{ matrix.python-architecture || 'x64' }} + architecture: ${{ matrix.platform.python-architecture || 'x64' }} - name: Install NASM run: | choco install nasm -y @@ -248,13 +225,13 @@ jobs: uses: PyO3/maturin-action@v1 with: maturin-version: ${{ env.MATURIN_VERSION }} - target: ${{ matrix.target }} - args: --release --out dist ${{ matrix.maturin_args }} ${{ matrix.cargo_args }} --features ${{ matrix.allocator || '' }} + target: ${{ matrix.platform.target }} + args: --release --out dist ${{ (matrix.build_type.name == 'free-threaded' || matrix.platform.use_standard_maturin_args) && matrix.build_type.maturin_args || '' }} ${{ matrix.build_type.cargo_args }} --features ${{ matrix.platform.allocator || '' }} sccache: "false" - name: Upload wheels uses: actions/upload-artifact@v7 with: - name: wheels-windows-${{ matrix.target }}-${{ matrix.build_type_name }} + name: wheels-windows-${{ matrix.platform.target }}-${{ matrix.build_type.name }} path: dist macos: From 6baf5437e8978b9eaa8c83aa092de3b1f2d17b9f Mon Sep 17 00:00:00 2001 From: gngpp Date: Sat, 11 Apr 2026 16:02:15 +0800 Subject: [PATCH 5/6] update --- .github/workflows/ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index facfc27..bec348b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -202,15 +202,12 @@ jobs: - target: x64 allocator: mimalloc python-architecture: x64 - use_standard_maturin_args: true - target: x86 allocator: mimalloc python-architecture: x86 - use_standard_maturin_args: true - target: aarch64 allocator: mimalloc python-architecture: x64 - use_standard_maturin_args: false steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 @@ -226,7 +223,7 @@ jobs: with: maturin-version: ${{ env.MATURIN_VERSION }} target: ${{ matrix.platform.target }} - args: --release --out dist ${{ (matrix.build_type.name == 'free-threaded' || matrix.platform.use_standard_maturin_args) && matrix.build_type.maturin_args || '' }} ${{ matrix.build_type.cargo_args }} --features ${{ matrix.platform.allocator || '' }} + args: --release --out dist ${{ (matrix.build_type.name == 'free-threaded' || matrix.platform.target != 'aarch64') && matrix.build_type.maturin_args || '' }} ${{ matrix.build_type.cargo_args }} --features ${{ matrix.platform.allocator || '' }} sccache: "false" - name: Upload wheels uses: actions/upload-artifact@v7 From 4f64ab5b719cdd0c1bc95304061c36411657090c Mon Sep 17 00:00:00 2001 From: gngpp Date: Sat, 11 Apr 2026 16:04:17 +0800 Subject: [PATCH 6/6] update --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bec348b..8789428 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -193,7 +193,7 @@ jobs: matrix: build_type: - name: standard - maturin_args: "--find-interpreter" + maturin_args: "" cargo_args: "" - name: free-threaded maturin_args: "--interpreter 3.13t 3.14t" @@ -223,7 +223,7 @@ jobs: with: maturin-version: ${{ env.MATURIN_VERSION }} target: ${{ matrix.platform.target }} - args: --release --out dist ${{ (matrix.build_type.name == 'free-threaded' || matrix.platform.target != 'aarch64') && matrix.build_type.maturin_args || '' }} ${{ matrix.build_type.cargo_args }} --features ${{ matrix.platform.allocator || '' }} + args: --release --out dist ${{ matrix.build_type.maturin_args || '' }} ${{ matrix.build_type.cargo_args }} --features ${{ matrix.platform.allocator || '' }} sccache: "false" - name: Upload wheels uses: actions/upload-artifact@v7