From 76f063f0c4c4b70aeb57bf4775d82585d4eb2b99 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 19:00:47 +0000 Subject: [PATCH 1/2] Initial plan From c31c163bcf3bacbbac1fd06218e08380a47ffd39 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 19:03:58 +0000 Subject: [PATCH 2/2] Update build workflow with free-threaded support and matrix printing Co-authored-by: scott-griffiths <11528142+scott-griffiths@users.noreply.github.com> --- .github/workflows/build.yml | 39 ++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 304935c..7fa8aed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,29 +55,62 @@ jobs: shell: pwsh run: | # Set environment variables directly in PowerShell + $env:CIBW_BUILD = 'cp311-* cp314t-*' $env:CIBW_ARCHS_WINDOWS = 'auto' $env:CIBW_BUILD_VERBOSITY = 3 # Ensure Cargo is in the PATH $env:PATH = "$env:USERPROFILE\.cargo\bin;$env:PATH" - # Run cibuildwheel + # Install cibuildwheel and print build identifiers python -m pip install cibuildwheel + python -m cibuildwheel --print-build-identifiers + + # Run cibuildwheel python -m cibuildwheel --output-dir wheelhouse + # Linux and macOS: print build identifiers + - name: Print build identifiers (Linux/macOS) + if: matrix.os != 'windows-latest' + run: | + python -m pip install cibuildwheel + python -m cibuildwheel --print-build-identifiers + env: + CIBW_BUILD_VERBOSITY: 3 + CIBW_BUILD: "cp311-* cp314t-*" + CIBW_ARCHS_LINUX: ${{ matrix.os == 'ubuntu-24.04-arm' && 'aarch64' || 'x86_64 aarch64 ppc64le i686' }} + CIBW_ARCHS_MACOS: 'auto' + CIBW_ENVIRONMENT: 'PATH="$HOME/.cargo/bin:$PATH"' + CIBW_BEFORE_ALL_LINUX: > + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && + source $HOME/.cargo/env && + rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu ppc64le-unknown-linux-gnu i686-unknown-linux-gnu x86_64-unknown-linux-musl aarch64-unknown-linux-musl + CIBW_SKIP: "*-musllinux_i686" + CIBW_BEFORE_BUILD_MACOS: > + rustup target add x86_64-apple-darwin aarch64-apple-darwin + MACOSX_DEPLOYMENT_TARGET: 10.12 + CIBW_MANYLINUX_X86_64_IMAGE: "quay.io/pypa/manylinux2014_x86_64:latest" + CIBW_MANYLINUX_I686_IMAGE: "quay.io/pypa/manylinux2014_i686:latest" + CIBW_MANYLINUX_AARCH64_IMAGE: "quay.io/pypa/manylinux2014_aarch64:latest" + CIBW_MANYLINUX_PPC64LE_IMAGE: "quay.io/pypa/manylinux2014_ppc64le:latest" + CIBW_MANYLINUX_S390X_IMAGE: "quay.io/pypa/manylinux2014_s390x:latest" + CIBW_MUSLLINUX_X86_64_IMAGE: "quay.io/pypa/musllinux_1_2_x86_64:latest" + CIBW_MUSLLINUX_I686_IMAGE: "quay.io/pypa/musllinux_1_2_i686:latest" + # Linux and macOS: use the action - name: Build wheels (Linux/macOS) if: matrix.os != 'windows-latest' uses: pypa/cibuildwheel@v2.23.2 env: CIBW_BUILD_VERBOSITY: 3 - CIBW_BUILD: "cp311-*" # If we use the stable ABI we only need one wheel per arch. + CIBW_BUILD: "cp311-* cp314t-*" CIBW_ARCHS_LINUX: ${{ matrix.os == 'ubuntu-24.04-arm' && 'aarch64' || 'x86_64 aarch64 ppc64le i686' }} CIBW_ARCHS_MACOS: 'auto' CIBW_ENVIRONMENT: 'PATH="$HOME/.cargo/bin:$PATH"' CIBW_BEFORE_ALL_LINUX: > curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && - source $HOME/.cargo/env + source $HOME/.cargo/env && + rustup target add x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu ppc64le-unknown-linux-gnu i686-unknown-linux-gnu x86_64-unknown-linux-musl aarch64-unknown-linux-musl CIBW_SKIP: "*-musllinux_i686" CIBW_BEFORE_BUILD_MACOS: > rustup target add x86_64-apple-darwin aarch64-apple-darwin