29
29
XZ_VERSION :
30
30
description : " The XZ version used for the build."
31
31
value : ${{ jobs.config.outputs.XZ_VERSION }}
32
+ ZSTD_VERSION :
33
+ description : " The Zstandard version used for the build."
34
+ value : ${{ jobs.config.outputs.ZSTD_VERSION }}
32
35
33
36
env :
34
37
FORCE_COLOR : " 1"
54
57
MPDECIMAL_VERSION : ${{ steps.extract.outputs.MPDECIMAL_VERSION }}
55
58
OPENSSL_VERSION : ${{ steps.extract.outputs.OPENSSL_VERSION }}
56
59
XZ_VERSION : ${{ steps.extract.outputs.XZ_VERSION }}
60
+ ZSTD_VERSION : ${{ steps.extract.outputs.ZSTD_VERSION }}
57
61
58
62
steps :
59
- - uses : actions/checkout@v4.1.7
63
+ - uses : actions/checkout@v5
60
64
61
65
- name : Extract config variables
62
66
id : extract
68
72
MPDECIMAL_VERSION=$(make config | grep "MPDECIMAL_VERSION=" | cut -d "=" -f 2)
69
73
OPENSSL_VERSION=$(make config | grep "OPENSSL_VERSION=" | cut -d "=" -f 2)
70
74
XZ_VERSION=$(make config | grep "XZ_VERSION=" | cut -d "=" -f 2)
75
+ ZSTD_VERSION=$(make config | grep "ZSTD_VERSION=" | cut -d "=" -f 2)
71
76
if [ -z "${{ inputs.build-number }}" ]; then
72
77
BUILD_NUMBER=custom
73
78
else
@@ -82,20 +87,30 @@ jobs:
82
87
echo "MPDECIMAL_VERSION=${MPDECIMAL_VERSION}" | tee -a ${GITHUB_OUTPUT}
83
88
echo "OPENSSL_VERSION=${OPENSSL_VERSION}" | tee -a ${GITHUB_OUTPUT}
84
89
echo "XZ_VERSION=${XZ_VERSION}" | tee -a ${GITHUB_OUTPUT}
90
+ echo "ZSTD_VERSION=${ZSTD_VERSION}" | tee -a ${GITHUB_OUTPUT}
85
91
86
92
build :
87
- runs-on : macOS-latest
93
+ runs-on : macOS-15
88
94
needs : [ config ]
89
95
strategy :
90
96
fail-fast : false
91
97
matrix :
92
- platform : ['macOS', 'iOS', 'tvOS', 'watchOS']
98
+ platform : ['macOS', 'iOS', 'tvOS', 'watchOS', 'visionOS' ]
93
99
94
100
steps :
95
-
101
+ - uses : actions/checkout@v5
102
+
103
+ - name : Set up Xcode
104
+ # GitHub recommends explicitly selecting the desired Xcode version:
105
+ # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
106
+ # This became a necessity as a result of
107
+ # https://github.com/actions/runner-images/issues/12541 and
108
+ # https://github.com/actions/runner-images/issues/12751.
109
+ run : |
110
+ sudo xcode-select --switch /Applications/Xcode_16.4.app
96
111
97
112
- name : Set up Python
98
- uses : actions/setup-python@v5.6 .0
113
+ uses : actions/setup-python@v6.0 .0
99
114
with :
100
115
# Appending -dev ensures that we can always build the dev release.
101
116
# It's a no-op for versions that have been published.
@@ -117,7 +132,7 @@ jobs:
117
132
118
133
briefcase-testbed :
119
134
name : Briefcase testbed (${{ matrix.platform }})
120
- runs-on : macOS-latest
135
+ runs-on : macOS-15
121
136
needs : [ config, build ]
122
137
strategy :
123
138
fail-fast : false
@@ -127,20 +142,29 @@ jobs:
127
142
- briefcase-run-args :
128
143
129
144
- platform : iOS
130
- briefcase-run-args : ' -d "iPhone SE (3rd generation) "'
145
+ briefcase-run-args : ' -d "iPhone 16e::iOS 18.5 "'
131
146
132
147
steps :
133
-
148
+ - uses : actions/checkout@v5
149
+
150
+ - name : Set up Xcode
151
+ # GitHub recommends explicitly selecting the desired Xcode version:
152
+ # https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
153
+ # This became a necessity as a result of
154
+ # https://github.com/actions/runner-images/issues/12541 and
155
+ # https://github.com/actions/runner-images/issues/12751.
156
+ run : |
157
+ sudo xcode-select --switch /Applications/Xcode_16.4.app
134
158
135
159
- name : Get build artifact
136
- uses : actions/download-artifact@v4.3 .0
160
+ uses : actions/download-artifact@v5.0 .0
137
161
with :
138
162
pattern : Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz
139
163
path : dist
140
164
merge-multiple : true
141
165
142
166
- name : Set up Python
143
- uses : actions/setup-python@v5.6 .0
167
+ uses : actions/setup-python@v6.0 .0
144
168
with :
145
169
# Appending -dev ensures that we can always build the dev release.
146
170
# It's a no-op for versions that have been published.
@@ -149,7 +173,7 @@ jobs:
149
173
# It's an edge case, but when a new alpha is released, we need to use it ASAP.
150
174
check-latest : true
151
175
152
- - uses : actions/checkout@v4.1.7
176
+ - uses : actions/checkout@v5
153
177
with :
154
178
repository : beeware/Python-support-testbed
155
179
path : Python-support-testbed
@@ -160,31 +184,35 @@ jobs:
160
184
python -m pip install git+https://github.com/beeware/briefcase.git
161
185
162
186
- name : Run support testbed check
163
- timeout-minutes : 10
187
+ timeout-minutes : 15
164
188
working-directory : Python-support-testbed
165
189
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\'
166
190
167
191
cpython-testbed :
168
192
name : CPython testbed (${{ matrix.platform }})
169
- runs-on : macOS-latest
193
+ runs-on : macOS-15
170
194
needs : [ config, build ]
171
195
strategy :
172
196
fail-fast : false
173
197
matrix :
174
- platform : ["iOS"]
198
+ platform : ["iOS", "tvOS", "visionOS"]
199
+ include :
200
+ # Needed to disambiguate simulator options.
201
+ - platform : " visionOS"
202
+ testbed-args : ' --simulator "Apple Vision Pro,arch=arm64,OS=2.5"'
175
203
176
204
steps :
177
- - uses : actions/checkout@v4.1.7
205
+ - uses : actions/checkout@v5
178
206
179
207
- name : Get build artifact
180
- uses : actions/download-artifact@v4.3 .0
208
+ uses : actions/download-artifact@v5.0 .0
181
209
with :
182
210
pattern : Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz
183
211
path : dist
184
212
merge-multiple : true
185
213
186
214
- name : Set up Python
187
- uses : actions/setup-python@v5.6 .0
215
+ uses : actions/setup-python@v6.0 .0
188
216
with :
189
217
# Appending -dev ensures that we can always build the dev release.
190
218
# It's a no-op for versions that have been published.
@@ -200,7 +228,7 @@ jobs:
200
228
tar zxvf ../../../dist/Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz
201
229
202
230
- name : Run CPython testbed
203
- timeout-minutes : 10
231
+ timeout-minutes : 15
204
232
working-directory : support/${{ needs.config.outputs.PYTHON_VER }}/${{ matrix.platform }}
205
233
run : |
206
234
# Run a representative subset of CPython core tests:
@@ -209,7 +237,7 @@ jobs:
209
237
# - test_os as a test of system library calls
210
238
# - test_bz2 as a simple test of third party libraries
211
239
# - 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
240
+ python -m testbed run --verbose ${{ matrix.testbed-args }} -- test --single-process --rerun -W test_builtin test_grammar test_os test_bz2 test_ctypes
213
241
214
242
crossenv-test :
215
243
name : Cross-platform env test (${{ matrix.multiarch }})
@@ -230,17 +258,17 @@ jobs:
230
258
multiarch : arm64-iphoneos
231
259
232
260
steps :
233
- - uses : actions/checkout@v4.1.7
261
+ - uses : actions/checkout@v5
234
262
235
263
- name : Get build artifact
236
- uses : actions/download-artifact@v4.3 .0
264
+ uses : actions/download-artifact@v5.0 .0
237
265
with :
238
266
pattern : Python-${{ needs.config.outputs.PYTHON_VER }}-${{ matrix.platform }}-support.${{ needs.config.outputs.BUILD_NUMBER }}.tar.gz
239
267
path : dist
240
268
merge-multiple : true
241
269
242
270
- name : Set up Python
243
- uses : actions/setup-python@v5.6 .0
271
+ uses : actions/setup-python@v6.0 .0
244
272
with :
245
273
# Appending -dev ensures that we can always build the dev release.
246
274
# It's a no-op for versions that have been published.
0 commit comments