@@ -26,76 +26,171 @@ jobs:
26
26
command : test
27
27
28
28
linux :
29
- runs-on : ubuntu-latest
29
+ runs-on : ${{ matrix.platform.runner }}
30
+ strategy :
31
+ matrix :
32
+ platform :
33
+ - runner : ubuntu-22.04
34
+ target : x86_64
35
+ - runner : ubuntu-22.04
36
+ target : x86
37
+ - runner : ubuntu-22.04
38
+ target : aarch64
39
+ - runner : ubuntu-22.04
40
+ target : armv7
41
+ - runner : ubuntu-22.04
42
+ target : s390x
43
+ - runner : ubuntu-22.04
44
+ target : ppc64le
30
45
steps :
31
- - uses : actions/checkout@v4
32
- - uses : PyO3/maturin-action@v1
33
- with :
34
- manylinux : auto
35
- command : build
36
- args : --release --sdist -o dist --find-interpreter
37
- - name : Upload wheels
38
- uses : actions/upload-artifact@v4
39
- with :
40
- name : wheels-linux
41
- path : dist
46
+ - uses : actions/checkout@v4
47
+ - uses : actions/setup-python@v5
48
+ with :
49
+ python-version : |
50
+ 3.9
51
+ 3.10
52
+ 3.11
53
+ 3.12
54
+ 3.13
55
+ - name : Build wheels
56
+ uses : PyO3/maturin-action@v1
57
+ with :
58
+ target : ${{ matrix.platform.target }}
59
+ args : --release --out dist --find-interpreter
60
+ manylinux : auto
61
+ - name : Build free-threaded wheels
62
+ uses : PyO3/maturin-action@v1
63
+ with :
64
+ target : ${{ matrix.platform.target }}
65
+ args : --release --out dist -i python3.13t
66
+ manylinux : auto
67
+ - name : Upload wheels
68
+ uses : actions/upload-artifact@v4
69
+ with :
70
+ name : wheels-linux-${{ matrix.platform.target }}
71
+ path : dist
42
72
43
- windows :
44
- runs-on : windows-latest
73
+ musllinux :
74
+ runs-on : ${{ matrix.platform.runner }}
75
+ strategy :
76
+ matrix :
77
+ platform :
78
+ - runner : ubuntu-22.04
79
+ target : x86_64
80
+ - runner : ubuntu-22.04
81
+ target : x86
82
+ - runner : ubuntu-22.04
83
+ target : aarch64
84
+ - runner : ubuntu-22.04
85
+ target : armv7
45
86
steps :
46
- - uses : actions/checkout@v4
47
- - uses : PyO3/maturin-action@v1
48
- with :
49
- command : build
50
- args : --release -o dist --find-interpreter
51
- - name : Upload wheels
52
- uses : actions/upload-artifact@v4
53
- with :
54
- name : wheels-windows
55
- path : dist
87
+ - uses : actions/checkout@v4
88
+ - uses : actions/setup-python@v5
89
+ with :
90
+ python-version : |
91
+ 3.9
92
+ 3.10
93
+ 3.11
94
+ 3.12
95
+ 3.13
96
+ - name : Build wheels
97
+ uses : PyO3/maturin-action@v1
98
+ with :
99
+ target : ${{ matrix.platform.target }}
100
+ args : --release --out dist --find-interpreter
101
+ manylinux : musllinux_1_2
102
+ - name : Build free-threaded wheels
103
+ uses : PyO3/maturin-action@v1
104
+ with :
105
+ target : ${{ matrix.platform.target }}
106
+ args : --release --out dist -i python3.13t
107
+ manylinux : musllinux_1_2
108
+ - name : Upload wheels
109
+ uses : actions/upload-artifact@v4
110
+ with :
111
+ name : wheels-musllinux-${{ matrix.platform.target }}
112
+ path : dist
56
113
57
- macos :
58
- runs-on : macos-latest
114
+ windows :
115
+ runs-on : ${{ matrix.platform.runner }}
116
+ strategy :
117
+ matrix :
118
+ platform :
119
+ - runner : windows-latest
120
+ target : x64
121
+ - runner : windows-latest
122
+ target : x86
59
123
steps :
60
- - uses : actions/checkout@v4
61
- - uses : actions/setup-python@v5
62
- with :
63
- python-version : |
64
- 3.9
65
- 3.10
66
- 3.11
67
- 3.12
68
- 3.13
69
- - uses : PyO3/maturin-action@v1
70
- with :
71
- command : build
72
- args : --release -o dist --find-interpreter
73
- - name : Upload wheels
74
- uses : actions/upload-artifact@v4
75
- with :
76
- name : wheels-macos
77
- path : dist
124
+ - uses : actions/checkout@v4
125
+ - uses : actions/setup-python@v5
126
+ with :
127
+ python-version : |
128
+ 3.9
129
+ 3.10
130
+ 3.11
131
+ 3.12
132
+ 3.13
133
+ architecture : ${{ matrix.platform.target }}
134
+ - name : Build wheels
135
+ uses : PyO3/maturin-action@v1
136
+ with :
137
+ target : ${{ matrix.platform.target }}
138
+ args : --release --out dist --find-interpreter
139
+ - uses : actions/setup-python@v5
140
+ with :
141
+ python-version : 3.13t
142
+ architecture : ${{ matrix.platform.target }}
143
+ - name : Build free-threaded wheels
144
+ uses : PyO3/maturin-action@v1
145
+ with :
146
+ target : ${{ matrix.platform.target }}
147
+ args : --release --out dist -i python3.13t
148
+ - name : Upload wheels
149
+ uses : actions/upload-artifact@v4
150
+ with :
151
+ name : wheels-windows-${{ matrix.platform.target }}
152
+ path : dist
78
153
79
- arm :
80
- runs-on : ubuntu-22.04-arm
154
+ macos :
155
+ runs-on : ${{ matrix.platform.runner }}
156
+ strategy :
157
+ matrix :
158
+ platform :
159
+ - runner : macos-13
160
+ target : x86_64
161
+ - runner : macos-14
162
+ target : aarch64
81
163
steps :
82
- - uses : actions/checkout@v4
83
- - uses : PyO3/maturin-action@v1
84
- with :
85
- manylinux : auto
86
- command : build
87
- args : --release --sdist -o dist --find-interpreter
88
- - name : Upload wheels
89
- uses : actions/upload-artifact@v4
90
- with :
91
- name : wheels-arm-linux
92
- path : dist
164
+ - uses : actions/checkout@v4
165
+ - uses : actions/setup-python@v5
166
+ with :
167
+ python-version : |
168
+ 3.9
169
+ 3.10
170
+ 3.11
171
+ 3.12
172
+ 3.13
173
+ - name : Build wheels
174
+ uses : PyO3/maturin-action@v1
175
+ with :
176
+ target : ${{ matrix.platform.target }}
177
+ args : --release --out dist --find-interpreter
178
+ - name : Build free-threaded wheels
179
+ uses : PyO3/maturin-action@v1
180
+ with :
181
+ target : ${{ matrix.platform.target }}
182
+ args : --release --out dist -i python3.13t
183
+ - name : Upload wheels
184
+ uses : actions/upload-artifact@v4
185
+ with :
186
+ name : wheels-macos-${{ matrix.platform.target }}
187
+ path : dist
93
188
94
189
release :
95
190
name : Release
96
191
runs-on : ubuntu-latest
97
192
if : ${{ startsWith(github.ref, 'refs/tags/') || github.event.inputs.tag == 'release' }}
98
- needs : [ macos , windows, linux, arm ]
193
+ needs : [linux, musllinux , windows, macos ]
99
194
steps :
100
195
- uses : actions/download-artifact@v4
101
196
with :
0 commit comments