@@ -202,24 +202,16 @@ jobs:
202202 strategy :
203203 fail-fast : false
204204 matrix :
205- # Cirrus and macos-14 are M1, macos-13 is default GHA Intel.
206- # macOS 13 only runs tests against the GIL-enabled CPython.
207- # Cirrus used for upstream, macos-14 for forks.
205+ # macos-14 is M1, macos-15-intel is Intel.
206+ # macos-15-intel only runs tests against the GIL-enabled CPython.
208207 os :
209- - ghcr.io/cirruslabs/macos-runner:sonoma
210208 - macos-14
211- - macos-13
212- is-fork : # only used for the exclusion trick
213- - ${{ github.repository_owner != 'python' }}
209+ - macos-15-intel
214210 free-threading :
215211 - false
216212 - true
217213 exclude :
218- - os : ghcr.io/cirruslabs/macos-runner:sonoma
219- is-fork : true
220- - os : macos-14
221- is-fork : false
222- - os : macos-13
214+ - os : macos-15-intel
223215 free-threading : true
224216 uses : ./.github/workflows/reusable-macos.yml
225217 with :
@@ -273,7 +265,7 @@ jobs:
273265 # Keep 1.1.1w in our list despite it being upstream EOL and otherwise
274266 # unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
275267 # supported by important vendors such as AWS-LC.
276- openssl_ver : [1.1.1w, 3.0.17 , 3.2.5 , 3.3.4 , 3.4.2 , 3.5.2 ]
268+ openssl_ver : [1.1.1w, 3.0.18 , 3.2.6 , 3.3.5 , 3.4.3 , 3.5.4 ]
277269 # See Tools/ssl/make_ssl_data.py for notes on adding a new version
278270 env :
279271 OPENSSL_VER : ${{ matrix.openssl_ver }}
@@ -409,9 +401,8 @@ jobs:
409401 fail-fast : false
410402 matrix :
411403 include :
412- # Use the same runs-on configuration as build-macos and build-ubuntu.
413404 - arch : aarch64
414- runs-on : ${{ github.repository_owner == 'python' && 'ghcr.io/cirruslabs/ macos-runner:sonoma' || 'macos-14' }}
405+ runs-on : macos-14
415406 - arch : x86_64
416407 runs-on : ubuntu-24.04
417408
@@ -421,7 +412,30 @@ jobs:
421412 with :
422413 persist-credentials : false
423414 - name : Build and test
424- run : ./Android/android.py ci ${{ matrix.arch }}-linux-android
415+ run : ./Android/android.py ci --fast-ci ${{ matrix.arch }}-linux-android
416+
417+ build-ios :
418+ name : iOS
419+ needs : build-context
420+ if : needs.build-context.outputs.run-tests == 'true'
421+ timeout-minutes : 60
422+ runs-on : macos-15
423+ steps :
424+ - uses : actions/checkout@v4
425+ with :
426+ persist-credentials : false
427+
428+ # GitHub recommends explicitly selecting the desired Xcode version:
429+ # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
430+ # This became a necessity as a result of
431+ # https://github.com/actions/runner-images/issues/12541 and
432+ # https://github.com/actions/runner-images/issues/12751.
433+ - name : Select Xcode version
434+ run : |
435+ sudo xcode-select --switch /Applications/Xcode_16.4.app
436+
437+ - name : Build and test
438+ run : python3 Apple ci iOS --fast-ci --simulator 'iPhone 16e,OS=18.5'
425439
426440 build-wasi :
427441 name : ' WASI'
@@ -438,7 +452,7 @@ jobs:
438452 needs : build-context
439453 if : needs.build-context.outputs.run-tests == 'true'
440454 env :
441- OPENSSL_VER : 3.0.16
455+ OPENSSL_VER : 3.0.18
442456 PYTHONSTRICTEXTENSIONBUILD : 1
443457 steps :
444458 - uses : actions/checkout@v4
@@ -558,7 +572,7 @@ jobs:
558572 matrix :
559573 os : [ubuntu-24.04]
560574 env :
561- OPENSSL_VER : 3.0.16
575+ OPENSSL_VER : 3.0.18
562576 PYTHONSTRICTEXTENSIONBUILD : 1
563577 ASAN_OPTIONS : detect_leaks=0:allocator_may_return_null=1:handle_segv=0
564578 steps :
@@ -732,6 +746,7 @@ jobs:
732746 - build-ubuntu-ssltests-awslc
733747 - build-ubuntu-ssltests-openssl
734748 - build-android
749+ - build-ios
735750 - build-wasi
736751 - test-hypothesis
737752 - build-asan
@@ -768,6 +783,7 @@ jobs:
768783 build-ubuntu-ssltests-awslc,
769784 build-ubuntu-ssltests-openssl,
770785 build-android,
786+ build-ios,
771787 build-wasi,
772788 test-hypothesis,
773789 build-asan,
0 commit comments