@@ -47,16 +47,18 @@ jobs:
47
47
if-no-files-found : error
48
48
49
49
test :
50
- name : ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.reactor.name }}
50
+ name : ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.reactor.name }} ${{ matrix.arch.name }}
51
51
needs : build
52
- runs-on : ${{ matrix.os.runs-on }}
52
+ runs-on : ${{ matrix.os.runs-on[matrix.arch.matrix] }}
53
53
container : ${{ matrix.os.container[matrix.python.docker] }}
54
54
strategy :
55
55
fail-fast : false
56
56
matrix :
57
57
os :
58
58
- name : 🐧
59
- runs-on : ubuntu-latest
59
+ matrix : linux
60
+ runs-on :
61
+ intel : ubuntu-latest
60
62
python_platform : linux
61
63
container :
62
64
" 2.7 " : docker://python:2.7-buster
@@ -73,56 +75,69 @@ jobs:
73
75
" pypy3.9 " : docker://pypy:3.9-bookworm
74
76
" pypy3.10 " : docker://pypy:3.10-bookworm
75
77
- name : 🪟
76
- runs-on : windows-latest
78
+ matrix : windows
79
+ runs-on :
80
+ intel : windows-latest
77
81
python_platform : win32
78
82
- name : 🍎
79
- runs-on : macos-12
83
+ matrix : macos
84
+ runs-on :
85
+ arm : macos-latest
86
+ intel : macos-13
80
87
python_platform : darwin
81
88
python :
82
89
- name : CPython 2.7
83
90
tox : py27
91
+ major-dot-minor : 2.7
84
92
action : 2.7
85
93
docker : 2.7
86
94
implementation : cpython
87
95
major : 2
88
96
- name : CPython 3.6
89
97
tox : py36
98
+ major-dot-minor : 3.6
90
99
action : 3.6
91
100
docker : 3.6
92
101
implementation : cpython
93
102
major : 3
94
103
- name : CPython 3.7
95
104
tox : py37
105
+ major-dot-minor : 3.7
96
106
action : 3.7
97
107
docker : 3.7
98
108
implementation : cpython
99
109
major : 3
100
110
- name : CPython 3.8
101
111
tox : py38
112
+ major-dot-minor : 3.8
102
113
action : 3.8
103
114
docker : 3.8
104
115
implementation : cpython
105
116
major : 3
106
117
- name : CPython 3.9
107
118
tox : py39
119
+ major-dot-minor : 3.9
108
120
action : 3.9
109
121
docker : 3.9
110
122
implementation : cpython
111
123
major : 3
112
124
- name : CPython 3.10
113
125
tox : py310
126
+ major-dot-minor : " 3.10"
114
127
action : " 3.10"
115
128
docker : " 3.10"
116
129
implementation : cpython
117
130
major : 3
118
131
- name : CPython 3.11
119
132
tox : py311
133
+ major-dot-minor : " 3.11"
120
134
action : " 3.11"
121
135
docker : " 3.11"
122
136
implementation : cpython
123
137
major : 3
124
138
- name : CPython 3.12
125
139
tox : py312
140
+ major-dot-minor : " 3.12"
126
141
action : " 3.12"
127
142
docker : " 3.12"
128
143
implementation : cpython
@@ -137,24 +152,28 @@ jobs:
137
152
# major: 2
138
153
- name : PyPy 3.7
139
154
tox : pypy37
155
+ major-dot-minor : 3.7
140
156
action : pypy-3.7
141
157
docker : pypy3.7
142
158
implementation : pypy
143
159
major : 3
144
160
- name : PyPy 3.8
145
161
tox : pypy38
162
+ major-dot-minor : 3.8
146
163
action : pypy-3.8
147
164
docker : pypy3.8
148
165
implementation : pypy
149
166
major : 3
150
167
- name : PyPy 3.9
151
168
tox : pypy39
169
+ major-dot-minor : 3.9
152
170
action : pypy-3.9
153
171
docker : pypy3.9
154
172
implementation : pypy
155
173
major : 3
156
174
- name : PyPy 3.10
157
175
tox : pypy310
176
+ major-dot-minor : " 3.10"
158
177
action : pypy-3.10
159
178
docker : pypy3.10
160
179
implementation : pypy
@@ -172,6 +191,15 @@ jobs:
172
191
- name : asyncio
173
192
tox : asyncio
174
193
dependencies : asyncio
194
+ arch :
195
+ - name : ARM
196
+ matrix : arm
197
+ setup-python :
198
+ architecture : arm64
199
+ - name : Intel
200
+ matrix : intel
201
+ setup-python :
202
+ architecture : x64
175
203
exclude :
176
204
- python :
177
205
major : 2
@@ -190,11 +218,11 @@ jobs:
190
218
reactor :
191
219
tox : pyside2
192
220
- python :
193
- action : " 3.11"
221
+ major-dot-minor : " 3.11"
194
222
reactor :
195
223
tox : pyside2
196
224
- python :
197
- action : " 3.12"
225
+ major-dot-minor : " 3.12"
198
226
reactor :
199
227
tox : pyside2
200
228
- python :
@@ -209,6 +237,30 @@ jobs:
209
237
implementation : pypy
210
238
reactor :
211
239
tox : pyside2
240
+ - os :
241
+ matrix : linux
242
+ arch :
243
+ matrix : arm
244
+ - os :
245
+ matrix : windows
246
+ arch :
247
+ matrix : arm
248
+ - os :
249
+ matrix : macos
250
+ python :
251
+ major-dot-minor : " 3.6"
252
+ arch :
253
+ matrix : arm
254
+ - os :
255
+ matrix : macos
256
+ python :
257
+ major-dot-minor : " 3.7"
258
+ arch :
259
+ matrix : arm
260
+ - arch :
261
+ matrix : arm
262
+ reactor :
263
+ tox : pyside2
212
264
steps :
213
265
- uses : actions/checkout@v4
214
266
- name : Enable Problem Matchers
@@ -227,7 +279,7 @@ jobs:
227
279
# CPython -> 3.9.0-alpha - 3.9.X
228
280
# PyPy -> pypy-3.7
229
281
python-version : ${{ fromJSON(format('["{0}", "{1}"]', format('{0}.0-alpha - {0}.X', matrix.python.action), matrix.python.action))[startsWith(matrix.python.action, 'pypy')] }}
230
- architecture : x64
282
+ architecture : ${{ matrix.arch.setup-python.architecture }}
231
283
- name : Report Python information
232
284
shell : bash
233
285
run : |
0 commit comments