88 pull_request :
99 branches :
1010 - master
11+ - develop
1112 push :
1213 branches :
1314 - master
1819
1920env :
2021 SETUPTOOLS_SCM_PRETEND_VERSION : ${{ github.event.inputs.overrideVersion }}
22+ CIBW_TEST_EXTRAS : test
23+ CIBW_TEST_COMMAND : " pytest {project}/tests"
2124
2225
2326jobs :
24- build_sdist :
25- name : Build SDist
26- runs-on : ubuntu-latest
27- steps :
28- - uses : actions/checkout@v1
29- with :
30- submodules : true
31-
32- - uses : actions/setup-python@v2
33-
34- - name : Install deps
35- run : python -m pip install build twine
36-
37- - name : Build SDist
38- run : python -m build -s
39-
40- - name : Check metadata
41- run : twine check dist/*
42-
43- - uses : actions/upload-artifact@v2
44- with :
45- path : dist/*.tar.gz
46-
47-
48- build_wheels :
49- name : ${{ matrix.type }} wheels on ${{ matrix.os }}
50- runs-on : ${{ matrix.os }}
51- strategy :
52- fail-fast : false
53- matrix :
54- os : [ubuntu-latest, windows-latest, macos-latest]
55- type : [Standard]
56-
57- include :
58- - os : ubuntu-latest
59- type : Standard
60- CIBW_MANYLINUX_X86_64_IMAGE : manylinux2010
61- CIBW_MANYLINUX_I686_IMAGE : manylinux2010
62-
63- - os : ubuntu-latest
64- type : ManyLinux1
65- CIBW_MANYLINUX_X86_64_IMAGE : skhep/manylinuxgcc-x86_64
66- CIBW_MANYLINUX_I686_IMAGE : skhep/manylinuxgcc-i686
67-
68- steps :
69- - uses : actions/checkout@v1
70- with :
71- submodules : true
72-
73- - uses : actions/setup-python@v2
74-
75- 76- env :
77- CIBW_SKIP : cp27-win* pp*
78- CIBW_MANYLINUX_I686_IMAGE : ${{ matrix.CIBW_MANYLINUX_I686_IMAGE }}
79- CIBW_MANYLINUX_X86_64_IMAGE : ${{ matrix.CIBW_MANYLINUX_X86_64_IMAGE }}
80- CIBW_TEST_EXTRAS : test
81- CIBW_TEST_COMMAND : " pytest {project}/tests"
82-
83- - name : Show files
84- run : ls -lh wheelhouse
85- shell : bash
86-
87- - name : Verify clean directory
88- run : git diff --exit-code
89- shell : bash
90-
91- - name : Upload wheels
92- uses : actions/upload-artifact@v2
93- with :
94- path : wheelhouse/*.whl
9527
96- build_pypy_wheels :
97- name : PyPy wheels on ${{ matrix.os }}
98- runs-on : ${{ matrix.os }}
28+ build_arch_wheels :
29+ name : ${{ matrix.arch }} wheels
30+ runs-on : ubuntu-latest
9931 strategy :
10032 fail-fast : false
10133 matrix :
102- os : [ubuntu-latest, macos-latest]
103-
34+ arch : [aarch64, s390x, ppc64le]
10435
10536 steps :
10637 - uses : actions/checkout@v1
@@ -109,9 +40,11 @@ jobs:
10940
11041 - uses : actions/setup-python@v2
11142
112- - uses : joerick /cibuildwheel@v1.7.4
43+ - uses : henryiii /cibuildwheel@feat/archgha
11344 env :
11445 CIBW_SKIP : cp*
46+ with :
47+ archs : ${{ matrix.arch }}
11548
11649 - name : Show files
11750 run : ls -lh wheelhouse
@@ -125,71 +58,3 @@ jobs:
12558 uses : actions/upload-artifact@v2
12659 with :
12760 path : wheelhouse/*.whl
128-
129-
130- # Windows 2.7 (requires pybind11 workaround)
131- build_win27_wheels :
132- name : Py 2.7 wheels on Windows
133- runs-on : windows-latest
134-
135- steps :
136- - uses : actions/checkout@v1
137- with :
138- submodules : true
139-
140- - uses : actions/setup-python@v2
141-
142-
143- - uses : ilammy/msvc-dev-cmd@v1
144-
145- - name : Build 64-bit wheel
146- 147- env :
148- CIBW_BUILD : cp27-win_amd64
149- DISTUTILS_USE_SDK : 1
150- MSSdk : 1
151-
152- - uses : ilammy/msvc-dev-cmd@v1
153- with :
154- arch : x86
155-
156- - name : Build 32-bit wheel
157- 158- env :
159- CIBW_BUILD : cp27-win32 pp27-win32
160- DISTUTILS_USE_SDK : 1
161- MSSdk : 1
162- CIBW_TEST_EXTRAS : test
163- CIBW_TEST_COMMAND : " pytest {project}/tests"
164-
165- - name : Show files
166- run : ls -lh wheelhouse
167- shell : bash
168-
169- - name : Verify clean directory
170- run : git diff --exit-code
171- shell : bash
172-
173- - uses : actions/upload-artifact@v2
174- with :
175- path : wheelhouse/*.whl
176-
177-
178- upload_all :
179- name : Upload if release
180- needs : [build_wheels, build_pypy_wheels, build_win27_wheels, build_sdist]
181- runs-on : ubuntu-latest
182- if : github.event_name == 'release' && github.event.action == 'published'
183-
184- steps :
185- - uses : actions/setup-python@v2
186-
187- - uses : actions/download-artifact@v2
188- with :
189- name : artifact
190- path : dist
191-
192- 193- with :
194- user : __token__
195- password : ${{ secrets.pypi_password }}
0 commit comments