88 - published
99
1010jobs :
11- build_wheels :
12- name : Build wheel on ${{ matrix.os }}/auto /${{matrix.python_tag}}
13- runs-on : ${{ matrix.os }}
11+ build_wheels_windows :
12+ name : Build wheel on windows-latest/ ${{matrix.arch}} /${{matrix.python_tag}}
13+ runs-on : windows-latest
1414 strategy :
1515 fail-fast : false
1616 matrix :
17- python_tag : ["cp36-*", "cp37-*", "cp38-*", "cp39-*", "cp310-*"]
18- os : [windows-latest, macos-latest]
17+ arch : [auto32, auto64]
18+ python_tag : ["cp36-*", "cp37-*", "cp38-*", "cp39-*", "cp310-*", "pp37-*", "pp38-*"]
19+ exclude :
20+ # PyPy only supports x86_64 on Windows
21+ - arch : auto32
22+ python_tag : " pp37-*"
23+ - arch : auto32
24+ python_tag : " pp38-*"
25+
26+ # PyPy Windows is currently broken in scikit-build
27+ - arch : auto64
28+ python_tag : " pp37-*"
29+ - arch : auto64
30+ python_tag : " pp38-*"
1931 env :
2032 CIBW_BUILD : ${{matrix.python_tag}}
21- CIBW_TEST_REQUIRES : pytest hypothesis
33+ CIBW_ARCHS : ${{matrix.arch}}
34+ CIBW_TEST_REQUIRES : pytest hypothesis pandas
2235 CIBW_TEST_COMMAND : pytest {package}/tests
2336 CIBW_BUILD_VERBOSITY : 3
2437
2740 with :
2841 submodules : ' true'
2942
43+ - uses : actions/setup-python@v2
44+
3045 - name : Build wheels
3146 uses : pypa/cibuildwheel@v2.3.1
3247 with :
@@ -37,19 +52,39 @@ jobs:
3752 with :
3853 path : ./wheelhouse/*.whl
3954
40- build_wheels_apple_silicon :
41- name : Build wheel on macos-latest/universal2+arm64 /${{matrix.python_tag}}
55+ build_wheels_macos :
56+ name : Build wheel on macos-latest/${{matrix.arch}} /${{matrix.python_tag}}
4257 runs-on : macos-latest
4358 strategy :
4459 fail-fast : false
4560 matrix :
46- python_tag : ["cp38-*", "cp39-*", "cp310-*"]
61+ arch : [x86_64, arm64, universal2]
62+ python_tag : ["cp36-*", "cp37-*", "cp38-*", "cp39-*", "cp310-*"]
63+ exclude :
64+ # MacOS Arm only supported since Python 3.8
65+ - arch : arm64
66+ python_tag : " cp36-*"
67+ - arch : arm64
68+ python_tag : " cp37-*"
69+ - arch : universal2
70+ python_tag : " cp36-*"
71+ - arch : universal2
72+ python_tag : " cp37-*"
73+ env :
74+ CIBW_BUILD : ${{matrix.python_tag}}
75+ CIBW_ARCHS : ${{matrix.arch}}
76+ CIBW_TEST_SKIP : " *-macosx_{arm64,universal2}"
77+ CIBW_TEST_REQUIRES : pytest hypothesis pandas
78+ CIBW_TEST_COMMAND : pytest {package}/tests
79+ CIBW_BUILD_VERBOSITY : 3
4780
4881 steps :
4982 - uses : actions/checkout@v2
5083 with :
5184 submodules : ' true'
5285
86+ - uses : actions/setup-python@v2
87+
5388 - name : Build wheels
5489 uses : pypa/cibuildwheel@v2.3.1
5590 with :
@@ -60,20 +95,30 @@ jobs:
6095 with :
6196 path : ./wheelhouse/*.whl
6297
63- build_wheels_manylinux :
98+ build_wheels_linux :
6499 name : Build wheels on ubuntu-latest/${{matrix.arch}}/${{matrix.python_tag}}
65100 runs-on : ubuntu-latest
66101 strategy :
67102 fail-fast : false
68103 matrix :
69104 arch : [auto, aarch64, ppc64le, s390x]
70- python_tag : ["cp36-*", "cp37-*", "cp38-*", "cp39-*", "cp310-*"]
105+ python_tag : [ "cp36-*", "cp37-*", "cp38-*", "cp39-*", "cp310-*", "pp37-*", "pp38-*"]
106+ exclude :
107+ # PyPy builds not supported on ppc64le / s390x
108+ - arch : ppc64le
109+ python_tag : " pp37-*"
110+ - arch : ppc64le
111+ python_tag : " pp38-*"
112+ - arch : s390x
113+ python_tag : " pp37-*"
114+ - arch : s390x
115+ python_tag : " pp38-*"
71116 env :
72117 CIBW_ARCHS_LINUX : ${{matrix.arch}}
73118 CIBW_BUILD : ${{matrix.python_tag}}
74119 CIBW_SKIP : " *musllinux_*"
75120 CIBW_TEST_SKIP : " *-manylinux_{aarch64,ppc64le,s390x}"
76- CIBW_TEST_REQUIRES : pytest hypothesis
121+ CIBW_TEST_REQUIRES : pytest hypothesis pandas
77122 CIBW_TEST_COMMAND : pytest {package}/tests
78123 CIBW_BUILD_VERBOSITY : 3
79124
82127 with :
83128 submodules : ' true'
84129
130+ - uses : actions/setup-python@v2
131+
85132 - uses : docker/setup-qemu-action@v1
86133 name : Set up QEMU
87134
@@ -95,33 +142,6 @@ jobs:
95142 with :
96143 path : ./wheelhouse/*.whl
97144
98- # build_wheels_pypy:
99- # name: Build wheel on ${{ matrix.os }}/auto/${{matrix.python_tag}}
100- # runs-on: ${{ matrix.os }}
101- # strategy:
102- # fail-fast: false
103- # matrix:
104- # python_tag: ["pp37-*"]
105- # os: [ubuntu-latest, windows-latest, macos-latest]
106- # env:
107- # CIBW_BUILD: ${{matrix.python_tag}}
108- # CIBW_BUILD_VERBOSITY: 3
109- #
110- # steps:
111- # - uses: actions/checkout@v2
112- # with:
113- # submodules: 'true'
114- #
115- # - name: Build wheels
116- # uses: pypa/cibuildwheel@v2.1.1
117- # with:
118- # output-dir: wheelhouse
119- #
120- # - name: Upload wheels
121- # uses: actions/upload-artifact@v2
122- # with:
123- # path: ./wheelhouse/*.whl
124-
125145 build_sdist :
126146 name : Build source distribution
127147 runs-on : ubuntu-latest
@@ -148,7 +168,7 @@ jobs:
148168
149169 deploy-wheels :
150170 if : github.event_name == 'release' && github.event.action == 'published'
151- needs : [build_wheels_apple_silicon, build_wheels_manylinux , build_sdist]
171+ needs : [build_wheels_windows, build_wheels_macos, build_wheels_linux , build_sdist]
152172 name : deploy wheels to pypi
153173 runs-on : ubuntu-18.04
154174
0 commit comments