77
88jobs :
99 build_wheels :
10- name : Build wheels on ${{matrix.arch}} for ${{ matrix.os }}
11- runs-on : ${{ matrix.os }}
12- timeout-minutes : 1500
13- env :
14- CIBW_SKIP : " cp27-* cp34* cp35* cp36-* pp27-* cp37* pp3*"
15- CIBW_BEFORE_BUILD : " pip install Cython==3.0.11 setuptools wheel"
10+ name : Build wheels for ${{ matrix.os }}
11+ runs-on : ${{ matrix.runs-on }}
1612 strategy :
1713 matrix :
18- os : [ubuntu-24.04, windows-latest, macos-latest]
19- arch : [auto]
2014 include :
21- - os : ubuntu-24.04
22- arch : aarch64
15+ - os : linux-intel
16+ runs-on : ubuntu-latest
17+ - os : linux-arm
18+ runs-on : ubuntu-24.04-arm
19+ - os : windows-intel
20+ runs-on : windows-latest
21+ - os : windows-arm
22+ runs-on : windows-11-arm
23+ - os : macos-intel
24+ runs-on : macos-13
25+ - os : macos-arm
26+ runs-on : macos-latest
2327
2428 steps :
2529 - uses : actions/checkout@v4
2630 with :
2731 submodules : true
28- - uses : actions/setup-python@v5
29- name : Install Python
30- with :
31- python-version : ' 3.13'
32-
33- - uses : docker/setup-qemu-action@v3
34- if : ${{ matrix.arch == 'aarch64' }}
35- name : Set up QEMU
36-
37- - name : Install cibuildwheel
38- run : |
39- python -m pip install cibuildwheel==2.21.3 Cython==3.0.11 setuptools wheel
4032
4133 - name : Build wheels
34+ uses : pypa/cibuildwheel@v3.0.0
4235 env :
43- CIBW_ARCHS_MACOS : x86_64 universal2
44- CIBW_ARCHS_LINUX : ${{matrix.arch}}
45- run : |
46- python -m cibuildwheel --output-dir wheelhouse
36+ CIBW_PLATFORM : ${{ matrix.platform || 'auto' }}
4737
4838 - uses : actions/upload-artifact@v4
4939 with :
40+ name : cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}
5041 path : ./wheelhouse/*.whl
51- name : cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }}-${{matrix.arch}}
52- retention-days : 1
42+
5343
5444 build_sdist :
5545 name : Build source distribution
5646 runs-on : ubuntu-latest
57- timeout-minutes : 40
58- env :
59- CIBW_SKIP : " cp27-* cp34-* pp27-*"
60- CIBW_BEFORE_BUILD : " pip install Cython==3.0.11 setuptools wheel"
6147 steps :
6248 - uses : actions/checkout@v4
6349 with :
6450 submodules : true
65- - uses : actions/setup-python@v5
66- name : Install Python
67- with :
68- python-version : ' 3.13'
69-
7051 - name : Build sdist
7152 run : |
7253 pip install Cython==3.0.11 setuptools wheel setuptools
@@ -79,19 +60,19 @@ jobs:
7960 retention-days : 1
8061 name : cibw-sdist
8162
82- upload_pypi :
83- needs : [build_wheels, build_sdist]
84- runs-on : ubuntu-latest
85- if : github.event_name == 'release' && github.event.action == 'published'
86- steps :
87- - uses : actions/download-artifact@v4
88- with :
89- pattern : cibw-*
90- path : dist
91- merge-multiple : true
92-
93- - uses : pypa/gh-action-pypi-publish@release/v1
94- with :
95- user : __token__
96- password : ${{ secrets.pypi_password }}
97- # To test: repository_url: https://test.pypi.org/legacy/
63+ # upload_pypi:
64+ # needs: [build_wheels, build_sdist]
65+ # runs-on: ubuntu-latest
66+ # if: github.event_name == 'release' && github.event.action == 'published'
67+ # steps:
68+ # - uses: actions/download-artifact@v4
69+ # with:
70+ # pattern: cibw-*
71+ # path: dist
72+ # merge-multiple: true
73+ #
74+ # - uses: pypa/gh-action-pypi-publish@release/v1
75+ # with:
76+ # user: __token__
77+ # password: ${{ secrets.pypi_password }}
78+ # # To test: repository_url: https://test.pypi.org/legacy/
0 commit comments