@@ -217,19 +217,42 @@ jobs:
217
217
runs-on : ${{ matrix.os }}
218
218
strategy :
219
219
matrix :
220
- os : [macos-latest, windows-latest]
220
+ include :
221
+ - os : windows-latest
222
+ cibw-arch : AMD64
223
+ arch : amd64
224
+ - os : windows-latest
225
+ cibw-arch : x86
226
+ arch : amd64_x86
227
+ - os : windows-latest
228
+ cibw-arch : ARM64
229
+ arch : amd64_arm64
230
+ - os : macos-latest
231
+ cibw-arch : universal2
221
232
fail-fast : false
222
233
env :
223
234
CONAN_HOME : ${{ github.workspace }}/.conan2
224
235
SCCACHE_GHA_VERSION : " 1"
225
236
SCCACHE_CACHE_MULTIARCH : " 1"
237
+ CIBW_ARCHS : ${{ matrix.cibw-arch }}
238
+ CIBW_ENABLE : ' pypy'
239
+ CIBW_TEST_SKIP : ' pp*'
240
+ CIBW_BUILD : ' cp311-* pp310-*'
226
241
steps :
227
242
- name : Checkout
228
243
uses : actions/checkout@v4
229
244
245
+ - name : Install Python
246
+ uses : actions/setup-python@v5
247
+ with :
248
+ python-version : " 3.12"
249
+
230
250
- name : Install sccache
231
251
uses : mozilla-actions/sccache-action@9e326ebed976843c9932b3aa0e021c6f50310eb4
232
252
253
+ - name : Install cibuildwheel
254
+ run : python -m pip install cibuildwheel~=2.22.0
255
+
233
256
- name : Cache Conan dependencies
234
257
uses : actions/cache@v4
235
258
with :
@@ -250,19 +273,20 @@ jobs:
250
273
cp -a scripts sdist
251
274
252
275
- name : Build wheels
253
- uses : pypa/cibuildwheel@ee63bf16da6cddfb925f542f2c7b59ad50e93969
254
- with :
255
- package-dir : sdist
256
- output-dir : dist
257
- env :
258
- CIBW_ENABLE : ' pypy'
259
- CIBW_TEST_SKIP : ' pp*'
260
- CIBW_BUILD : ' cp311-* pp310-*'
276
+ if : runner.os == 'Windows'
277
+ shell : cmd
278
+ run : |
279
+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch }}
280
+ cibuildwheel sdist --output-dir dist
281
+
282
+ - name : Build wheels
283
+ if : runner.os != 'Windows'
284
+ run : cibuildwheel sdist --output-dir dist
261
285
262
286
- name : Upload package
263
287
uses : actions/upload-artifact@v4
264
288
with :
265
- name : wheels-${{ matrix.os }}
289
+ name : wheels-${{ matrix.os }}-${{ matrix.cibw-arch }}
266
290
path : ./dist/*.whl
267
291
268
292
# This step checks the package version before release (to make sure that the
0 commit comments