3737 package :
3838 runs-on : ubuntu-latest
3939 steps :
40- - uses : actions/checkout@v4
40+ - uses : actions/checkout@v5
4141 with :
4242 fetch-depth : 0
4343 persist-credentials : false
@@ -56,32 +56,29 @@ jobs:
5656 fail-fast : false
5757 matrix :
5858 name : [
59- " windows-py39-unittest-asynctest" ,
60- " windows-py39-unittest-twisted24" ,
61- " windows-py39-unittest-twisted25" ,
62- " windows-py39-pluggy" ,
63- " windows-py39-xdist" ,
64- " windows-py310" ,
59+ " windows-py310-unittest-asynctest" ,
60+ " windows-py310-unittest-twisted24" ,
61+ " windows-py310-unittest-twisted25" ,
62+ " windows-py310-pluggy" ,
63+ " windows-py310-xdist" ,
6564 " windows-py311" ,
6665 " windows-py312" ,
6766 " windows-py313" ,
6867 " windows-py314" ,
6968
70- " ubuntu-py39-unittest-asynctest" ,
71- " ubuntu-py39-unittest-twisted24" ,
72- " ubuntu-py39-unittest-twisted25" ,
73- " ubuntu-py39-lsof-numpy-pexpect" ,
74- " ubuntu-py39-pluggy" ,
75- " ubuntu-py39-freeze" ,
76- " ubuntu-py39-xdist" ,
69+ " ubuntu-py310-unittest-asynctest" ,
70+ " ubuntu-py310-unittest-twisted24" ,
71+ " ubuntu-py310-unittest-twisted25" ,
72+ " ubuntu-py310-lsof-numpy-pexpect" ,
73+ " ubuntu-py310-pluggy" ,
74+ " ubuntu-py310-freeze" ,
7775 " ubuntu-py310-xdist" ,
7876 " ubuntu-py311" ,
7977 " ubuntu-py312" ,
8078 " ubuntu-py313-pexpect" ,
8179 " ubuntu-py314" ,
8280 " ubuntu-pypy3-xdist" ,
8381
84- " macos-py39" ,
8582 " macos-py310" ,
8683 " macos-py312" ,
8784 " macos-py313" ,
@@ -93,35 +90,31 @@ jobs:
9390
9491 include :
9592 # Use separate jobs for different unittest flavors (twisted, asynctest) to ensure proper coverage.
96- - name : " windows-py39 -unittest-asynctest"
97- python : " 3.9 "
93+ - name : " windows-py310 -unittest-asynctest"
94+ python : " 3.10 "
9895 os : windows-latest
99- tox_env : " py39 -asynctest"
96+ tox_env : " py310 -asynctest"
10097 use_coverage : true
10198
102- - name : " windows-py39 -unittest-twisted24"
103- python : " 3.9 "
99+ - name : " windows-py310 -unittest-twisted24"
100+ python : " 3.10 "
104101 os : windows-latest
105- tox_env : " py39 -twisted24"
102+ tox_env : " py310 -twisted24"
106103 use_coverage : true
107104
108- - name : " windows-py39 -unittest-twisted25"
109- python : " 3.9 "
105+ - name : " windows-py310 -unittest-twisted25"
106+ python : " 3.10 "
110107 os : windows-latest
111- tox_env : " py39 -twisted25"
108+ tox_env : " py310 -twisted25"
112109 use_coverage : true
113110
114- - name : " windows-py39-pluggy"
115- python : " 3.9"
116- os : windows-latest
117- tox_env : " py39-pluggymain-pylib-xdist"
118-
119- - name : " windows-py39-xdist"
120- python : " 3.9"
111+ - name : " windows-py310-pluggy"
112+ python : " 3.10"
121113 os : windows-latest
122- tox_env : " py39-xdist"
114+ tox_env : " py310-pluggymain-pylib-xdist"
115+ xfail : true
123116
124- - name : " windows-py310"
117+ - name : " windows-py310-xdist "
125118 python : " 3.10"
126119 os : windows-latest
127120 tox_env : " py310-xdist"
@@ -140,51 +133,49 @@ jobs:
140133 python : " 3.13"
141134 os : windows-latest
142135 tox_env : " py313"
136+ xfail : true
143137
144138 - name : " windows-py314"
145139 python : " 3.14"
146140 os : windows-latest
147141 tox_env : " py314"
148142
149143 # Use separate jobs for different unittest flavors (twisted, asynctest) to ensure proper coverage.
150- - name : " ubuntu-py39 -unittest-asynctest"
151- python : " 3.9 "
144+ - name : " ubuntu-py310 -unittest-asynctest"
145+ python : " 3.10 "
152146 os : ubuntu-latest
153- tox_env : " py39 -asynctest"
147+ tox_env : " py310 -asynctest"
154148 use_coverage : true
155149
156- - name : " ubuntu-py39 -unittest-twisted24"
157- python : " 3.9 "
150+ - name : " ubuntu-py310 -unittest-twisted24"
151+ python : " 3.10 "
158152 os : ubuntu-latest
159- tox_env : " py39 -twisted24"
153+ tox_env : " py310 -twisted24"
160154 use_coverage : true
161155
162- - name : " ubuntu-py39 -unittest-twisted25"
163- python : " 3.9 "
156+ - name : " ubuntu-py310 -unittest-twisted25"
157+ python : " 3.10 "
164158 os : ubuntu-latest
165- tox_env : " py39 -twisted25"
159+ tox_env : " py310 -twisted25"
166160 use_coverage : true
167161
168- - name : " ubuntu-py39 -lsof-numpy-pexpect"
169- python : " 3.9 "
162+ - name : " ubuntu-py310 -lsof-numpy-pexpect"
163+ python : " 3.10 "
170164 os : ubuntu-latest
171- tox_env : " py39 -lsof-numpy-pexpect"
165+ tox_env : " py310 -lsof-numpy-pexpect"
172166 use_coverage : true
173167
174- - name : " ubuntu-py39-pluggy"
175- python : " 3.9"
176- os : ubuntu-latest
177- tox_env : " py39-pluggymain-pylib-xdist"
178-
179- - name : " ubuntu-py39-freeze"
180- python : " 3.9"
168+ - name : " ubuntu-py310-pluggy"
169+ python : " 3.10"
181170 os : ubuntu-latest
182- tox_env : " py39-freeze"
171+ tox_env : " py310-pluggymain-pylib-xdist"
172+ xfail : true
183173
184- - name : " ubuntu-py39-xdist "
185- python : " 3.9 "
174+ - name : " ubuntu-py310-freeze "
175+ python : " 3.10 "
186176 os : ubuntu-latest
187- tox_env : " py39-xdist"
177+ tox_env : " py310-freeze"
178+ xfail : true
188179
189180 - name : " ubuntu-py310-xdist"
190181 python : " 3.10"
@@ -208,6 +199,7 @@ jobs:
208199 os : ubuntu-latest
209200 tox_env : " py313-pexpect"
210201 use_coverage : true
202+ xfail : true
211203
212204 - name : " ubuntu-py314"
213205 python : " 3.14"
@@ -216,21 +208,16 @@ jobs:
216208 use_coverage : true
217209
218210 - name : " ubuntu-pypy3-xdist"
219- python : " pypy-3.9 "
211+ python : " pypy-3.10 "
220212 os : ubuntu-latest
221213 tox_env : " pypy3-xdist"
222214
223215
224- - name : " macos-py39"
225- python : " 3.9"
226- os : macos-latest
227- tox_env : " py39-xdist"
228- use_coverage : true
229-
230216 - name : " macos-py310"
231217 python : " 3.10"
232218 os : macos-latest
233219 tox_env : " py310-xdist"
220+ xfail : true
234221
235222 - name : " macos-py312"
236223 python : " 3.12"
@@ -241,6 +228,7 @@ jobs:
241228 python : " 3.13"
242229 os : macos-latest
243230 tox_env : " py313-xdist"
231+ xfail : true
244232
245233 - name : " macos-py314"
246234 python : " 3.14"
@@ -254,45 +242,27 @@ jobs:
254242
255243
256244 - name : " doctesting"
257- python : " 3.9 "
245+ python : " 3.10 "
258246 os : ubuntu-latest
259247 tox_env : " doctesting"
260248 use_coverage : true
261249
262- continue-on-error : >-
263- ${{
264- contains(
265- fromJSON(
266- '[
267- "windows-py39-pluggy",
268- "windows-py313",
269- "ubuntu-py39-pluggy",
270- "ubuntu-py39-freeze",
271- "ubuntu-py313",
272- "macos-py39",
273- "macos-py313"
274- ]'
275- ),
276- matrix.name
277- )
278- && true
279- || false
280- }}
250+ continue-on-error : ${{ matrix.xfail && true || false }}
281251
282252 steps :
283- - uses : actions/checkout@v4
253+ - uses : actions/checkout@v5
284254 with :
285255 fetch-depth : 0
286256 persist-credentials : false
287257
288258 - name : Download Package
289- uses : actions/download-artifact@v4
259+ uses : actions/download-artifact@v5
290260 with :
291261 name : Packages
292262 path : dist
293263
294264 - name : Set up Python ${{ matrix.python }}
295- uses : actions/setup-python@v5
265+ uses : actions/setup-python@v6
296266 with :
297267 python-version : ${{ matrix.python }}
298268 check-latest : true
@@ -319,7 +289,7 @@ jobs:
319289
320290 - name : Upload coverage to Codecov
321291 if : " matrix.use_coverage"
322- uses : codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24
292+ uses : codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7
323293 with :
324294 fail_ci_if_error : false
325295 files : ./coverage.xml
0 commit comments