Skip to content

Commit ca018fe

Browse files
committed
Pin Xcode and iOS simulator versions.
1 parent f3c7b9c commit ca018fe

File tree

1 file changed

+37
-7
lines changed

1 file changed

+37
-7
lines changed

.github/workflows/ci.yaml

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ 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
@@ -94,6 +94,15 @@ jobs:
9494
steps:
9595
- uses: actions/checkout@v5
9696

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
105+
97106
- name: Set up Python
98107
uses: actions/[email protected]
99108
with:
@@ -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,11 +136,20 @@ 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:
133142
- uses: actions/checkout@v5
134143

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
152+
135153
- name: Get build artifact
136154
uses: actions/[email protected]
137155
with:
@@ -160,22 +178,34 @@ 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+
runs-on: macOS-15
170188
needs: [ config, build ]
171189
strategy:
172190
fail-fast: false
173191
matrix:
174192
platform: ["iOS", "visionOS"]
193+
include:
194+
- platform: "iOS"
195+
testbed-args: '--simulator "iPhone 16e,arch=arm64,OS=18.5"'
175196

176197
steps:
177198
- uses: actions/checkout@v5
178199

200+
- name: Set up Xcode
201+
# GitHub recommends explicitly selecting the desired Xcode version:
202+
# https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
203+
# This became a necessity as a result of
204+
# https://github.com/actions/runner-images/issues/12541 and
205+
# https://github.com/actions/runner-images/issues/12751.
206+
run: |
207+
sudo xcode-select --switch /Applications/Xcode_16.4.app
208+
179209
- name: Get build artifact
180210
uses: actions/[email protected]
181211
with:
@@ -200,7 +230,7 @@ jobs:
200230
tar zxvf ../../../dist/Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz
201231
202232
- name: Run CPython testbed
203-
timeout-minutes: 10
233+
timeout-minutes: 15
204234
working-directory: support/${{ needs.config.outputs.PYTHON_VER }}/${{ matrix.platform }}
205235
run: |
206236
# Run a representative subset of CPython core tests:
@@ -209,7 +239,7 @@ jobs:
209239
# - test_os as a test of system library calls
210240
# - test_bz2 as a simple test of third party libraries
211241
# - test_ctypes as a test of FFI
212-
python -m testbed run -- test --single-process --rerun -W test_builtin test_grammar test_os test_bz2 test_ctypes
242+
python -m testbed run ${{ matrix.testbed-args }} -- test --single-process --rerun -W test_builtin test_grammar test_os test_bz2 test_ctypes
213243
214244
crossenv-test:
215245
name: Cross-platform env test (${{ matrix.multiarch }})

0 commit comments

Comments
 (0)