@@ -95,10 +95,14 @@ jobs:
9595 - " 3.13"
9696 - " 3.14"
9797 - " 3.15"
98- os : [ubuntu-latest, macos-latest, windows-latest]
98+ os : [ubuntu-latest, macos-latest, windows-latest, windows-11-arm ]
9999 exclude :
100100 - os : macos-latest
101101 python-version : " pypy-3.11"
102+ - os : windows-11-arm
103+ python-version : " pypy-3.11"
104+ - os : windows-11-arm
105+ python-version : " 3.10"
102106 include :
103107 - python-version : " 3.14t"
104108 os : ubuntu-latest
@@ -132,22 +136,22 @@ jobs:
132136 echo "dir=$(pip cache dir)" >> $Env:GITHUB_OUTPUT
133137
134138 - name : pip cache (default)
135- uses : actions/cache@v4
139+ uses : actions/cache@v5
136140 if : ${{ !startsWith(runner.os, 'Windows') }}
137141 with :
138142 path : ${{ steps.pip-cache-default.outputs.dir }}
139- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
143+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
140144 restore-keys : |
141- ${{ runner.os }}-pip-
145+ ${{ runner.os }}-${{ runner.arch }}- pip-
142146
143147 - name : pip cache (Windows)
144- uses : actions/cache@v4
148+ uses : actions/cache@v5
145149 if : ${{ startsWith(runner.os, 'Windows') }}
146150 with :
147151 path : ${{ steps.pip-cache-windows.outputs.dir }}
148- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
152+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
149153 restore-keys : |
150- ${{ runner.os }}-pip-
154+ ${{ runner.os }}-${{ runner.arch }}- pip-
151155
152156 - name : Install Build Dependencies (3.15)
153157 if : matrix.python-version == '3.15'
@@ -217,7 +221,7 @@ jobs:
217221 - name : Upload zope.interface wheel (macOS x86_64)
218222 if : >
219223 startsWith(runner.os, 'Mac')
220- uses : actions/upload-artifact@v4
224+ uses : actions/upload-artifact@v7
221225 with :
222226 # The x86_64 wheel is uploaded with a different name just so it can be
223227 # manually downloaded when desired. The wheel itself *cannot* be tested
@@ -228,14 +232,20 @@ jobs:
228232 if : >
229233 startsWith(runner.os, 'Mac')
230234 && !startsWith(matrix.python-version, 'pypy')
231- uses : actions/upload-artifact@v4
235+ uses : actions/upload-artifact@v7
232236 with :
233237 name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}.whl
234238 path : dist/*arm64.whl
235- - name : Upload zope.interface wheel (all other platforms)
236- if : >
237- !startsWith(runner.os, 'Mac')
238- uses : actions/upload-artifact@v4
239+ - name : Upload zope.interface wheel (Windows)
240+ if : startsWith(runner.os, 'Windows')
241+ uses : actions/upload-artifact@v7
242+ with :
243+ name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}-${{ runner.arch }}.whl
244+ path : dist/*whl
245+
246+ - name : Upload zope.interface wheel (Linux)
247+ if : startsWith(runner.os, 'Linux')
248+ uses : actions/upload-artifact@v7
239249 with :
240250 name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}.whl
241251 path : dist/*whl
@@ -254,10 +264,14 @@ jobs:
254264 - " 3.13"
255265 - " 3.14"
256266 - " 3.15"
257- os : [ubuntu-latest, macos-latest, windows-latest]
267+ os : [ubuntu-latest, macos-latest, windows-latest, windows-11-arm ]
258268 exclude :
259269 - os : macos-latest
260270 python-version : " pypy-3.11"
271+ - os : windows-11-arm
272+ python-version : " pypy-3.11"
273+ - os : windows-11-arm
274+ python-version : " 3.10"
261275 include :
262276 - python-version : " 3.14t"
263277 os : ubuntu-latest
@@ -291,28 +305,35 @@ jobs:
291305 echo "dir=$(pip cache dir)" >> $Env:GITHUB_OUTPUT
292306
293307 - name : pip cache (default)
294- uses : actions/cache@v4
308+ uses : actions/cache@v5
295309 if : ${{ !startsWith(runner.os, 'Windows') }}
296310 with :
297311 path : ${{ steps.pip-cache-default.outputs.dir }}
298- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
312+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
299313 restore-keys : |
300- ${{ runner.os }}-pip-
314+ ${{ runner.os }}-${{ runner.arch }}- pip-
301315
302316 - name : pip cache (Windows)
303- uses : actions/cache@v4
317+ uses : actions/cache@v5
304318 if : ${{ startsWith(runner.os, 'Windows') }}
305319 with :
306320 path : ${{ steps.pip-cache-windows.outputs.dir }}
307- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
321+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
308322 restore-keys : |
309- ${{ runner.os }}-pip-
310-
311- - name : Download zope.interface wheel
312- uses : actions/download-artifact@v4
323+ ${{ runner.os }}-${{ runner.arch }}- pip-
324+ - name : Download zope.interface wheel (Linux/macOS)
325+ if : " !startsWith(runner.os, 'Windows') "
326+ uses : actions/download-artifact@v8
313327 with :
314328 name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}.whl
315329 path : dist/
330+
331+ - name : Download zope.interface wheel (Windows)
332+ if : startsWith(runner.os, 'Windows')
333+ uses : actions/download-artifact@v8
334+ with :
335+ name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}-${{ runner.arch }}.whl
336+ path : dist/
316337 - name : Install zope.interface
317338 # ``python -m unittest discover`` only works with editable
318339 # installs, so we have to duplicate some work and can't
@@ -392,25 +413,24 @@ jobs:
392413 echo "dir=$(pip cache dir)" >> $Env:GITHUB_OUTPUT
393414
394415 - name : pip cache (default)
395- uses : actions/cache@v4
416+ uses : actions/cache@v5
396417 if : ${{ !startsWith(runner.os, 'Windows') }}
397418 with :
398419 path : ${{ steps.pip-cache-default.outputs.dir }}
399- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
420+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
400421 restore-keys : |
401- ${{ runner.os }}-pip-
422+ ${{ runner.os }}-${{ runner.arch }}- pip-
402423
403424 - name : pip cache (Windows)
404- uses : actions/cache@v4
425+ uses : actions/cache@v5
405426 if : ${{ startsWith(runner.os, 'Windows') }}
406427 with :
407428 path : ${{ steps.pip-cache-windows.outputs.dir }}
408- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
429+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
409430 restore-keys : |
410- ${{ runner.os }}-pip-
411-
431+ ${{ runner.os }}-${{ runner.arch }}-pip-
412432 - name : Download zope.interface wheel
413- uses : actions/download-artifact@v4
433+ uses : actions/download-artifact@v8
414434 with :
415435 name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}.whl
416436 path : dist/
@@ -463,25 +483,24 @@ jobs:
463483 echo "dir=$(pip cache dir)" >> $Env:GITHUB_OUTPUT
464484
465485 - name : pip cache (default)
466- uses : actions/cache@v4
486+ uses : actions/cache@v5
467487 if : ${{ !startsWith(runner.os, 'Windows') }}
468488 with :
469489 path : ${{ steps.pip-cache-default.outputs.dir }}
470- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
490+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
471491 restore-keys : |
472- ${{ runner.os }}-pip-
492+ ${{ runner.os }}-${{ runner.arch }}- pip-
473493
474494 - name : pip cache (Windows)
475- uses : actions/cache@v4
495+ uses : actions/cache@v5
476496 if : ${{ startsWith(runner.os, 'Windows') }}
477497 with :
478498 path : ${{ steps.pip-cache-windows.outputs.dir }}
479- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
499+ key : ${{ runner.os }}-${{ runner.arch }}- pip-${{ matrix.python-version }}
480500 restore-keys : |
481- ${{ runner.os }}-pip-
482-
501+ ${{ runner.os }}-${{ runner.arch }}-pip-
483502 - name : Download zope.interface wheel
484- uses : actions/download-artifact@v4
503+ uses : actions/download-artifact@v8
485504 with :
486505 name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}.whl
487506 path : dist/
@@ -541,22 +560,22 @@ jobs:
541560 echo "dir=$(pip cache dir)" >> $Env:GITHUB_OUTPUT
542561
543562 - name : pip cache (default)
544- uses : actions/cache@v4
563+ uses : actions/cache@v5
545564 if : ${{ !startsWith(runner.os, 'Windows') }}
546565 with :
547566 path : ${{ steps.pip-cache-default.outputs.dir }}
548567 key : ${{ runner.os }}-pip_manylinux-${{ matrix.image }}-${{ matrix.python-version }}
549568 restore-keys : |
550- ${{ runner.os }}-pip-
569+ ${{ runner.os }}-${{ runner.arch }}- pip-
551570
552571 - name : pip cache (Windows)
553- uses : actions/cache@v4
572+ uses : actions/cache@v5
554573 if : ${{ startsWith(runner.os, 'Windows') }}
555574 with :
556575 path : ${{ steps.pip-cache-windows.outputs.dir }}
557576 key : ${{ runner.os }}-pip_manylinux-${{ matrix.image }}-${{ matrix.python-version }}
558577 restore-keys : |
559- ${{ runner.os }}-pip-
578+ ${{ runner.os }}-${{ runner.arch }}- pip-
560579
561580 - name : Update pip
562581 run : pip install -U pip
@@ -579,7 +598,7 @@ jobs:
579598 bash .manylinux.sh
580599
581600 - name : Upload zope.interface wheels
582- uses : actions/upload-artifact@v4
601+ uses : actions/upload-artifact@v7
583602 with :
584603 path : wheelhouse/*whl
585604 name : manylinux_${{ matrix.image }}_wheels.zip
@@ -606,7 +625,7 @@ jobs:
606625
607626 steps :
608627 - name : Download all wheel artifacts
609- uses : actions/download-artifact@v4
628+ uses : actions/download-artifact@v8
610629 with :
611630 path : dist/
612631 pattern : ' *'
0 commit comments