@@ -112,9 +112,8 @@ jobs:
112112 strategy :
113113 fail-fast : false
114114 matrix :
115- os : ['ubuntu-latest', 'windows-latest', 'macos-14 ', 'macos-latest ']
115+ os : ['ubuntu-latest', 'windows-latest', 'macos-latest ', 'macos-15-intel ']
116116 python-version :
117- - " 3.9"
118117 - " 3.10"
119118 - " 3.11"
120119 - " 3.12"
@@ -127,24 +126,22 @@ jobs:
127126 include :
128127 # Basic dependencies only
129128 - os : ubuntu-latest
130- python-version : " 3.9 "
129+ python-version : " 3.10 "
131130 architecture : ' x64'
132131 dependencies : ' none'
133132 # Absolute minimum dependencies
134133 - os : ubuntu-latest
135- python-version : " 3.9 "
134+ python-version : " 3.10 "
136135 architecture : ' x64'
137136 dependencies : ' min'
138137 # Absolute minimum dependencies
139138 - os : ubuntu-latest
140- python-version : " 3.10 "
139+ python-version : " 3.11 "
141140 architecture : ' x64'
142141 dependencies : ' min'
143142 exclude :
144143 # Use ubuntu-latest to cover the whole range of Python. For Windows
145144 # and macOS, checking oldest and newest should be sufficient.
146- - os : windows-latest
147- python-version : " 3.10"
148145 - os : windows-latest
149146 python-version : " 3.11"
150147 - os : windows-latest
@@ -153,16 +150,6 @@ jobs:
153150 python-version : " 3.13"
154151 - os : windows-latest
155152 python-version : " 3.13t"
156- - os : macos-14
157- python-version : " 3.9"
158- - os : macos-14
159- python-version : " 3.10"
160- - os : macos-14
161- python-version : " 3.14"
162- - os : macos-14
163- python-version : " 3.14t"
164- - os : macos-latest
165- python-version : " 3.10"
166153 - os : macos-latest
167154 python-version : " 3.11"
168155 - os : macos-latest
@@ -171,20 +158,30 @@ jobs:
171158 python-version : " 3.13"
172159 - os : macos-latest
173160 python-version : " 3.13t"
161+ - os : macos-15-intel
162+ python-version : " 3.11"
163+ - os : macos-15-intel
164+ python-version : " 3.12"
165+ - os : macos-15-intel
166+ python-version : " 3.13"
167+ - os : macos-15-intel
168+ python-version : " 3.13t"
174169
175170 # # Unavailable architectures
176- # x86 is available for Windows
171+ # x86 is available for Windows and Mac
177172 - os : ubuntu-latest
178173 architecture : x86
179- - os : macos-14
180- architecture : x86
181174 - os : macos-latest
182175 architecture : x86
176+ - os : macos-15-intel
177+ architecture : x86
183178 # arm64 is available for macos-14+
184179 - os : ubuntu-latest
185180 architecture : arm64
186181 - os : windows-latest
187182 architecture : arm64
183+ - os : macos-15-intel
184+ architecture : arm64
188185 # x64 is not available for macos-15
189186 - os : macos-latest
190187 architecture : x64
@@ -194,10 +191,10 @@ jobs:
194191 - os : macos-14
195192 dependencies : pre
196193 # Drop pre tests for SPEC-0-unsupported Python versions
197- - python-version : ' 3.9'
198- dependencies : pre
199194 - python-version : ' 3.10'
200195 dependencies : pre
196+ - python-version : ' 3.11'
197+ dependencies : pre
201198
202199 env :
203200 DEPENDS : ${{ matrix.dependencies }}
@@ -227,7 +224,9 @@ jobs:
227224 IMPL : cpython
228225 VERSION : ${{ matrix.python-version }}
229226 # uv expects linux|macos|windows, we can drop the -* but need to rename ubuntu
230- OS : ${{ matrix.os == 'ubuntu-latest' && 'linux' || matrix.os }}
227+ OS : ${{ matrix.os == 'ubuntu-latest' && 'linux' ||
228+ startsWith(matrix.os, 'macos') && 'macos' ||
229+ matrix.os }}
231230 # uv expects x86, x86_64, aarch64 (among others)
232231 ARCH : ${{ matrix.architecture == 'x64' && 'x86_64' ||
233232 matrix.architecture == 'arm64' && 'aarch64' ||
@@ -243,8 +242,10 @@ jobs:
243242 --with=git+https://github.com/effigies/tox-gh-actions@abiflags
244243 - name : Show tox config
245244 run : tox c
246- - name : Run tox
247- run : tox -vv --exit-and-dump-after 1200
245+ - name : Setup test suite
246+ run : tox run -vv --notest
247+ - name : Run test suite
248+ run : tox -v --skip-pkg-install --exit-and-dump-after 1200
248249 - uses : codecov/codecov-action@v5
249250 if : ${{ always() }}
250251 with :
0 commit comments