@@ -10,19 +10,54 @@ jobs:
10
10
fail-fast : false
11
11
matrix :
12
12
buildplat :
13
- - [macos-13, macosx_x86_64, x86_64]
14
- - [macos-14, macosx_arm64, arm64]
15
- - [ubuntu-20.04, manylinux_x86_64, x86_64]
16
- - [ubuntu-20.04, manylinux_i686, i686]
17
- - [windows-2019, win_amd64, x64]
18
- - [windows-2019, win32, Win32]
13
+ - [macos-13, macosx_x86_64, x86_64, x86_64]
14
+ - [macos-14, macosx_arm64, arm64, arm64]
15
+ - [ubuntu-20.04, manylinux_aarch64, aarch64, aarch64]
16
+ - [ubuntu-20.04, manylinux_ppc64le, ppc64le, ppc64le]
17
+ - [ubuntu-20.04, manylinux_x86_64, x86_64, x86_64]
18
+ - [ubuntu-20.04, manylinux_i686, i686, i686]
19
+ - [windows-2019, win_amd64, x64, AMD64]
20
+ - [windows-2019, win32, Win32, x86]
21
+ - [windows-2019, win_arm64, ARM64, ARM64]
19
22
python :
20
23
- [cp38, v141]
21
24
- [cp39, v141]
22
25
- [cp310, v141]
26
+ - [pp310, v141]
23
27
- [cp311, v141]
24
- - [cp312, v142]
25
28
- [cp313, v142]
29
+ # - [cp313t, v142]
30
+ exclude :
31
+ # cp313(i686) on ubuntu-20.04
32
+ - buildplat : [ubuntu-20.04, manylinux_i686, i686]
33
+ python : [cp313, v142]
34
+ # pp310(ppc64le) on ubuntu-20.04
35
+ - buildplat : [ubuntu-20.04, manylinux_ppc64le, ppc64le, ppc64le]
36
+ python : [pp310, v141]
37
+ # pp310(i686) on ubuntu-20.04
38
+ - buildplat : [ubuntu-20.04, manylinux_i686, i686, i686]
39
+ python : [pp310, v141]
40
+ # pp310(Win32) on windows-2019
41
+ - buildplat : [windows-2019, win32, Win32, x86]
42
+ python : [pp310, v141]
43
+ # pp310(Win32) on windows-2019
44
+ - buildplat : [windows-2019, win32, Win32, x86]
45
+ python : [pp310, v141]
46
+ # pp310(ARM64) on windows-2019
47
+ - buildplat : [windows-2019, win_arm64, ARM64, ARM64]
48
+ python : [pp310, v141]
49
+ # cp313t(ppc64le) on ubuntu-20.04
50
+ - buildplat : [ubuntu-20.04, manylinux_ppc64le, ppc64le, ppc64le]
51
+ python : [cp313t, v142]
52
+ # cp313t(i686) on ubuntu-20.04
53
+ - buildplat : [ubuntu-20.04, manylinux_i686, i686]
54
+ python : [cp313t, v142]
55
+ # cp38(ARM64) on windows-2019
56
+ - buildplat : [windows-2019, win_arm64, ARM64, ARM64]
57
+ python : [cp38, v141]
58
+ # cp313t(ARM64) on windows-2019
59
+ - buildplat : [windows-2019, win_arm64, ARM64, ARM64]
60
+ python : [cp313t, v142]
26
61
27
62
steps :
28
63
- uses : actions/checkout@v4
@@ -32,34 +67,58 @@ jobs:
32
67
with :
33
68
python-version : " 3.x"
34
69
35
- - name : Build wheels
36
- if : ${{ runner.os != 'Windows' }}
37
- uses : pypa/cibuildwheel@7e5a838a63ac8128d71ab2dfd99e4634dd1bca09 # v2.19.2
70
+ - name : Check python version
71
+ run : |
72
+ python --version
73
+
74
+ - name : Setup QEMU
75
+ if : runner.os == 'Linux'
76
+ uses : docker/setup-qemu-action@v3
77
+ with :
78
+ platforms : all
79
+
80
+ - name : Build wheels (Linux)
81
+ if : ${{ runner.os == 'Linux' }}
82
+ uses : pypa/cibuildwheel@v2.22.0
83
+ env :
84
+ CIBW_ENABLE : cpython-prerelease cpython-freethreading pypy
85
+ CIBW_BUILD : ${{ matrix.python[0] }}-*
86
+ CIBW_BUILD_VERBOSITY : 1
87
+ CIBW_TEST_REQUIRES : pytest
88
+ # CIBW_BEFORE_TEST: pwd && ls -Ral && ls -Ral {project}/swig/python
89
+ CIBW_TEST_COMMAND : " pytest {project}/swig/python"
90
+ CIBW_ARCHS_LINUX : ${{ matrix.buildplat[3] }}
91
+
92
+ - name : Build wheels (macOS)
93
+ if : ${{ runner.os == 'macOS' }}
94
+ uses : pypa/cibuildwheel@v2.22.0
38
95
env :
39
- CIBW_PRERELEASE_PYTHONS : True
40
- CIBW_BUILD : ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
96
+ CIBW_ENABLE : cpython-prerelease cpython-freethreading pypy
97
+ CIBW_BUILD : ${{ matrix.python[0] }}-*
41
98
CIBW_BUILD_VERBOSITY : 1
42
99
CIBW_TEST_REQUIRES : pytest
43
100
# CIBW_BEFORE_TEST: pwd && ls -Ral && ls -Ral {project}/swig/python
44
101
CIBW_TEST_COMMAND : " pytest {project}/swig/python"
102
+ CIBW_ARCHS_MACOS : ${{ matrix.buildplat[3] }}
45
103
46
104
- name : Build wheels (Windows)
47
105
if : ${{ runner.os == 'Windows' }}
48
- uses : pypa/cibuildwheel@7e5a838a63ac8128d71ab2dfd99e4634dd1bca09 # v2.19.2
106
+ uses : pypa/cibuildwheel@v2.22.0
49
107
env :
50
- CIBW_PRERELEASE_PYTHONS : True
51
- CIBW_BUILD : ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
108
+ CIBW_ENABLE : cpython-prerelease cpython-freethreading pypy
109
+ CIBW_BUILD : ${{ matrix.python[0] }}-*
52
110
CIBW_BUILD_VERBOSITY : 1
53
111
CIBW_TEST_REQUIRES : pytest
54
112
# CIBW_BEFORE_TEST: pwd && ls -Ral && ls -Ral {project}/swig/python
55
113
CIBW_TEST_COMMAND : " pytest {project}/swig/python"
114
+ CIBW_ARCHS_WINDOWS : ${{ matrix.buildplat[3] }}
56
115
CMAKE_GENERATOR : Visual Studio 16 2019
57
116
CMAKE_GENERATOR_TOOLSET : ${{ matrix.python[1] }}
58
117
CMAKE_GENERATOR_PLATFORM : ${{ matrix.buildplat[2] }}
59
118
60
119
- uses : actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
61
120
with :
62
- name : dist-${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
121
+ name : dist-${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}-${{ github.run_number }}
63
122
path : ./wheelhouse/*.whl
64
123
65
124
92
151
- name : Merge Artifacts
93
152
uses : actions/upload-artifact/merge@v4
94
153
with :
95
- name : dist
154
+ name : dist-${{ github.run_number }}
96
155
pattern : dist-*
0 commit comments