Skip to content
Merged
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
98 changes: 82 additions & 16 deletions .github/workflows/wheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ on:
types: [published]
push:
tags:
- 'v*' # Alternative: only build for tags.
# pull_request:
- "v*" # Alternative: only build for tags.
pull_request:

jobs:
build_wheels:
name: Build wheels for cp${{ matrix.python }}-${{ matrix.platform_id }}
name: Build wheels for cp${{ matrix.python }}-${{ matrix.platform_id }}${{ matrix.manylinux_image }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -36,46 +36,110 @@ jobs:
python: 313t
platform_id: win_amd64
cibw_enable: cpython-freethreading
# linux-64
# linux-64 for manylinux2014
- os: ubuntu-latest
python: 39
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 310
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 311
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 312
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 313
platform_id: manylinux_x86_64
manylinux_image: manylinux2014
- os: ubuntu-latest
python: 313t
platform_id: manylinux_x86_64
cibw_enable: cpython-freethreading
# linux-aarch64
manylinux_image: manylinux2014
# linux-aarch64 for manylinux2014
- os: ubuntu-24.04-arm
python: 39
platform_id: manylinux_aarch64
manylinux_image: manylinux2014
- os: ubuntu-24.04-arm
python: 310
platform_id: manylinux_aarch64
manylinux_image: manylinux2014
- os: ubuntu-24.04-arm
python: 311
platform_id: manylinux_aarch64
manylinux_image: manylinux2014
- os: ubuntu-24.04-arm
python: 312
platform_id: manylinux_aarch64
manylinux_image: manylinux2014
- os: ubuntu-24.04-arm
python: 313
platform_id: manylinux_aarch64
manylinux_image: manylinux2014
- os: ubuntu-24.04-arm
python: 313t
platform_id: manylinux_aarch64
cibw_enable: cpython-freethreading
manylinux_image: manylinux2014
# linux-64 for manylinux_2_28
- os: ubuntu-latest
python: 39
platform_id: manylinux_x86_64
manylinux_image: manylinux_2_28
- os: ubuntu-latest
python: 310
platform_id: manylinux_x86_64
manylinux_image: manylinux_2_28
- os: ubuntu-latest
python: 311
platform_id: manylinux_x86_64
manylinux_image: manylinux_2_28
- os: ubuntu-latest
python: 312
platform_id: manylinux_x86_64
manylinux_image: manylinux_2_28
- os: ubuntu-latest
python: 313
platform_id: manylinux_x86_64
manylinux_image: manylinux_2_28
- os: ubuntu-latest
python: 313t
platform_id: manylinux_x86_64
cibw_enable: cpython-freethreading
manylinux_image: manylinux_2_28
# linux-aarch64 for manylinux_2_28
- os: ubuntu-24.04-arm
python: 39
platform_id: manylinux_aarch64
manylinux_image: manylinux_2_28
- os: ubuntu-24.04-arm
python: 310
platform_id: manylinux_aarch64
manylinux_image: manylinux_2_28
- os: ubuntu-24.04-arm
python: 311
platform_id: manylinux_aarch64
manylinux_image: manylinux_2_28
- os: ubuntu-24.04-arm
python: 312
platform_id: manylinux_aarch64
manylinux_image: manylinux_2_28
- os: ubuntu-24.04-arm
python: 313
platform_id: manylinux_aarch64
manylinux_image: manylinux_2_28
- os: ubuntu-24.04-arm
python: 313t
platform_id: manylinux_aarch64
cibw_enable: cpython-freethreading
manylinux_image: manylinux_2_28
# macos-x86-64
- os: macos-13
python: 39
Expand Down Expand Up @@ -103,27 +167,27 @@ jobs:
platform_id: macosx_x86_64
cibw_enable: cpython-freethreading
# macos-arm64
- os: macos-latest
- os: macos-14
python: 39
macos_target: 14
platform_id: macosx_arm64
- os: macos-latest
- os: macos-14
python: 310
macos_target: 14
platform_id: macosx_arm64
- os: macos-latest
- os: macos-14
python: 311
macos_target: 14
platform_id: macosx_arm64
- os: macos-latest
- os: macos-14
python: 312
macos_target: 14
platform_id: macosx_arm64
- os: macos-latest
- os: macos-14
python: 313
macos_target: 14
platform_id: macosx_arm64
- os: macos-latest
- os: macos-14
python: 313t
macos_target: 14
platform_id: macosx_arm64
Expand All @@ -145,7 +209,7 @@ jobs:
- uses: actions/setup-python@v5
if: runner.os == 'Windows'
with:
python-version: '3.13'
python-version: "3.13"
- run: pipx run --python 3.13 cibuildwheel==3.1.1
if: runner.os == 'Windows'
shell: msys2 {0}
Expand All @@ -170,15 +234,17 @@ jobs:
CIBW_ENABLE: ${{ matrix.cibw_enable }}
CIBW_BEFORE_ALL_LINUX: "yum install -y openblas-devel"
CIBW_BEFORE_ALL_MACOS: "brew install openblas gfortran"
CIBW_ENVIRONMENT_MACOS: CC=gcc-13 CXX=g++-13 FC=gfortran-13
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos_target }}.0
UV_DEFAULT_INDEX: https://pypi.org/simple
UV_INDEX: https://pypi.org/simple
- run: ls -l wheelhouse/*
shell: bash
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-cp${{ matrix.python }}-${{ matrix.platform_id }}-${{ strategy.job-index }}
name: cibw-wheels-cp${{ matrix.python }}-${{ matrix.platform_id }}${{ matrix.manylinux_image }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl

build_sdist:
Expand All @@ -198,12 +264,12 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- uses: actions/download-artifact@v4
with:
pattern: cibw-*
path: dist
merge-multiple: true
- uses: pypa/gh-action-pypi-publish@release/v1
- uses: pypa/gh-action-pypi-publish@release/v1
Loading