Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 36 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down