@@ -21,35 +21,52 @@ jobs:
2121 - name : Upload SDist
2222 uses : actions/upload-artifact@v4
2323 with :
24- path : dist/*.tar.gz
24+ name : release-sdist
25+ path : ./dist/*.tar.gz
26+ retention-days : 30
2527
2628 build_wheels :
2729 name : Build wheel (${{ matrix.os }})
2830 runs-on : ${{ matrix.os }}
2931 strategy :
3032 fail-fast : false
3133 matrix :
32- os : [ubuntu-latest, windows-latest, macos-latest]
34+ include :
35+ - os : ubuntu-latest
36+ arch : x86_64
37+ - os : windows-2019
38+ arch : AMD64
39+ msvc_arch : x64
40+ - os : macos-13
41+ arch : x86_64
42+ cmake_osx_architectures : x86_64
43+ macosx_deployment_target : 10.13
44+ - os : macos-14
45+ arch : arm64
46+ cmake_osx_architectures : arm64
47+ macosx_deployment_target : 14.0
3348 steps :
3449 - name : Checkout repo
3550 uses : actions/checkout@v4
3651
3752 - name : Build wheels
38- uses : pypa/cibuildwheel@v2.21
53+ uses : pypa/cibuildwheel@v2.22
3954 env :
4055 # skip PyPy and muslinux (for now)
4156 CIBW_SKIP : " pp* *musllinux*"
42- # skip 32-bits platforms on linux and windows
43- CIBW_ARCHS_LINUX : " auto64 "
44- CIBW_ARCHS_WINDOWS : " auto64 "
45- # macos: opt-in cross-compile on arm64
46- CIBW_ARCHS_MACOS : " x86_64 arm64 "
47- CIBW_TEST_SKIP : " *_arm64 *_universal2:arm64 "
57+ CIBW_ARCHS : ${{ matrix.arch }}
58+ # need also to redefine here some environment vars defined in pyprojet.toml
59+ CIBW_ENVIRONMENT_MACOS :
60+ MACOSX_DEPLOYMENT_TARGET=${{ matrix.macosx_deployment_target }}
61+ CMAKE_OSX_ARCHITECTURES='${{ matrix.cmake_osx_architectures }}'
62+ SKBUILD_CMAKE_ARGS='-DFS_DOWNLOAD_XTENSOR_PYTHON=ON'
4863
4964 - name : Upload wheels
50- uses : actions/upload-artifact@v3
65+ uses : actions/upload-artifact@v4
5166 with :
52- path : wheelhouse/*.whl
67+ name : release-${{ matrix.os }}-${{ matrix.arch }}
68+ path : ./wheelhouse/*.whl
69+ retention-days : 5
5370
5471 upload_all :
5572 needs : [build_wheels, make_sdist]
6279 - name : Get dist files
6380 uses : actions/download-artifact@v4
6481 with :
65- name : artifact
82+ pattern : release-*
83+ merge-multiple : true
6684 path : dist
6785
6886 - name : Publish on PyPI
0 commit comments