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