5656 XZ_VERSION : ${{ steps.extract.outputs.XZ_VERSION }}
5757
5858 steps :
59- - uses : actions/checkout@v4.1.7
59+ - uses : actions/checkout@v5
6060
6161 - name : Extract config variables
6262 id : extract
@@ -84,15 +84,24 @@ jobs:
8484 echo "XZ_VERSION=${XZ_VERSION}" | tee -a ${GITHUB_OUTPUT}
8585
8686 build :
87- runs-on : macOS-latest
87+ runs-on : macOS-15
8888 needs : [ config ]
8989 strategy :
9090 fail-fast : false
9191 matrix :
9292 platform : ['macOS', 'iOS', 'tvOS', 'watchOS', 'visionOS']
9393
9494 steps :
95- 95+ - uses : actions/checkout@v5
96+
97+ - name : Set up Xcode
98+ # GitHub recommends explicitly selecting the desired Xcode version:
99+ # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
100+ # This became a necessity as a result of
101+ # https://github.com/actions/runner-images/issues/12541 and
102+ # https://github.com/actions/runner-images/issues/12751.
103+ run : |
104+ sudo xcode-select --switch /Applications/Xcode_16.4.app
96105
97106 - name : Set up Python
98107@@ -117,7 +126,7 @@ jobs:
117126
118127 briefcase-testbed :
119128 name : Briefcase testbed (${{ matrix.platform }})
120- runs-on : macOS-latest
129+ runs-on : macOS-15
121130 needs : [ config, build ]
122131 strategy :
123132 fail-fast : false
@@ -127,10 +136,19 @@ jobs:
127136 - briefcase-run-args :
128137
129138 - platform : iOS
130- briefcase-run-args : ' -d "iPhone SE (3rd generation) "'
139+ briefcase-run-args : ' -d "iPhone 16e::iOS 18.5 "'
131140
132141 steps :
133- 142+ - uses : actions/checkout@v5
143+
144+ - name : Set up Xcode
145+ # GitHub recommends explicitly selecting the desired Xcode version:
146+ # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
147+ # This became a necessity as a result of
148+ # https://github.com/actions/runner-images/issues/12541 and
149+ # https://github.com/actions/runner-images/issues/12751.
150+ run : |
151+ sudo xcode-select --switch /Applications/Xcode_16.4.app
134152
135153 - name : Get build artifact
136154@@ -149,7 +167,7 @@ jobs:
149167 # It's an edge case, but when a new alpha is released, we need to use it ASAP.
150168 check-latest : true
151169
152- - uses : actions/checkout@v4.1.7
170+ - uses : actions/checkout@v5
153171 with :
154172 repository : beeware/Python-support-testbed
155173 path : Python-support-testbed
@@ -160,21 +178,25 @@ jobs:
160178 python -m pip install git+https://github.com/beeware/briefcase.git
161179
162180 - name : Run support testbed check
163- timeout-minutes : 10
181+ timeout-minutes : 15
164182 working-directory : Python-support-testbed
165183 run : briefcase run ${{ matrix.platform }} Xcode --test ${{ matrix.briefcase-run-args }} -C support_package=\'../dist/Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz\'
166184
167185 cpython-testbed :
168186 name : CPython testbed (${{ matrix.platform }})
169- runs-on : macOS-latest
187+ # For now, CPython testbed can't run on macos-15: https://github.com/actions/runner-images/issues/12777
188+ runs-on : macOS-14
170189 needs : [ config, build ]
171190 strategy :
172191 fail-fast : false
173192 matrix :
174193 platform : ["iOS", "visionOS"]
194+ include :
195+ - platform : " iOS"
196+ testbed-args : ' --simulator "iPhone 16e,arch=arm64,OS=18.5"'
175197
176198 steps :
177- - uses : actions/checkout@v4.1.7
199+ - uses : actions/checkout@v5
178200
179201 - name : Get build artifact
180202@@ -200,7 +222,7 @@ jobs:
200222 tar zxvf ../../../dist/Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz
201223
202224 - name : Run CPython testbed
203- timeout-minutes : 10
225+ timeout-minutes : 15
204226 working-directory : support/${{ needs.config.outputs.PYTHON_VER }}/${{ matrix.platform }}
205227 run : |
206228 # Run a representative subset of CPython core tests:
@@ -230,7 +252,7 @@ jobs:
230252 multiarch : arm64-iphoneos
231253
232254 steps :
233- - uses : actions/checkout@v4.1.7
255+ - uses : actions/checkout@v5
234256
235257 - name : Get build artifact
236258
0 commit comments