6969 strategy :
7070 fail-fast : ${{ !( startsWith(github.ref, 'refs/heads/master') || startsWith(github.ref, 'refs/tags/') ) }}
7171 matrix :
72- python-version :
73- - ' 3.9'
72+ python-version :
7473 - ' 3.10'
7574 - ' 3.11'
7675 - ' 3.12'
@@ -91,13 +90,20 @@ jobs:
9190 - { os: ubuntu-latest, target: ppc64le, target-triple: powerpc64le-unknown-linux-gnu, manylinux: auto }
9291 # - { os: ubuntu-latest, target: ppc64le, target-triple: powerpc64le-unknown-linux-musleabihf, manylinux: musllinux_1_1 } # no target musl for ppc64le
9392
94- - { os: macos-13 , target: x86_64, target-triple: x86_64-apple-darwin }
95- - { os: macos-13 , target: aarch64, target-triple: aarch64-apple-darwin }
96- - { os: macos-13 , target: universal2, target-triple: x86_64-apple-darwin }
93+ - { os: macos-15 , target: x86_64, target-triple: x86_64-apple-darwin }
94+ - { os: macos-15 , target: aarch64, target-triple: aarch64-apple-darwin }
95+ - { os: macos-15 , target: universal2, target-triple: x86_64-apple-darwin }
9796
9897 - { os: windows-latest, target: x86_64, target-triple: x86_64-pc-windows-msvc, python-architecture: x64 }
9998 - { os: windows-latest, target: i686, target-triple: i686-pc-windows-msvc, python-architecture: x86 }
10099
100+ - { os: windows-11-arm, target: aarch64, target-triple: aarch64-pc-windows-msvc, python-architecture: arm64 }
101+
102+ # Python 3.10 has no native ARM64 Windows installer
103+ exclude :
104+ - python-version : ' 3.10'
105+ conf : { os: windows-11-arm }
106+
101107 include :
102108 # Windows x86_64 pypy
103109 - conf : { os: windows-latest, target: x86_64, target-triple: x86_64-pc-windows-msvc }
@@ -118,21 +124,21 @@ jobs:
118124 python-version : pypy3.11
119125
120126 # OSX x86_64 pypy
121- - conf : { os: macos-13 , target: x86_64, target-triple: x86_64-apple-darwin }
127+ - conf : { os: macos-15 , target: x86_64, target-triple: x86_64-apple-darwin }
122128 python-version : pypy3.10
123- - conf : { os: macos-13 , target: x86_64, target-triple: x86_64-apple-darwin }
129+ - conf : { os: macos-15 , target: x86_64, target-triple: x86_64-apple-darwin }
124130 python-version : pypy3.11
125131
126132 # OSX universal2 pypy
127- - conf : { os: macos-13 , target: universal2, target-triple: x86_64-apple-darwin }
133+ - conf : { os: macos-15 , target: universal2, target-triple: x86_64-apple-darwin }
128134 python-version : pypy3.10
129- - conf : { os: macos-13 , target: universal2, target-triple: x86_64-apple-darwin }
135+ - conf : { os: macos-15 , target: universal2, target-triple: x86_64-apple-darwin }
130136 python-version : pypy3.11
131137
132138 # OSX arm pypy
133- - conf : { os: macos-13 , target: aarch64, target-triple: aarch64-apple-darwin }
139+ - conf : { os: macos-15 , target: aarch64, target-triple: aarch64-apple-darwin }
134140 python-version : pypy3.10
135- - conf : { os: macos-13 , target: aarch64, target-triple: aarch64-apple-darwin }
141+ - conf : { os: macos-15 , target: aarch64, target-triple: aarch64-apple-darwin }
136142 python-version : pypy3.11
137143
138144 steps :
@@ -177,7 +183,7 @@ jobs:
177183 if : |
178184 !startsWith(matrix.conf.manylinux, 'musl') &&
179185 !( matrix.python-version == 'pypy3.10' && runner.os == 'Windows' ) &&
180- ( matrix.conf.target == 'x86_64 ' || matrix.conf.target == 'universal2' )
186+ ( matrix.conf.target == 'universal2 ' || ( matrix.conf.target == 'aarch64' && runner.os == 'Windows') || (matrix.conf.target == 'x86_64' && runner.os != 'macOS') )
181187 run : |
182188 # Second install guarantees it's going to install from local dir w/ --no-index
183189 # use first to get in dev dependencies
0 commit comments