@@ -150,35 +150,41 @@ jobs:
150
150
matrix :
151
151
include :
152
152
# macOS
153
-
153
+ # macOS x86 (intel) has tendency to fail semi-randomly.
154
+ # We allow this job to fail without invalidating the whole run.
154
155
- name : macos-x86
155
156
os : macos-13
156
157
artifact-name : macos-x86-nightly
157
158
godot-binary : godot.macos.editor.dev.x86_64
159
+ failable : true
158
160
159
161
- name : macos-arm
160
162
os : macos-latest
161
163
artifact-name : macos-arm-nightly
162
164
godot-binary : godot.macos.editor.dev.arm64
165
+ failable : false
163
166
164
167
# Windows
165
168
166
169
- name : windows
167
170
os : windows-latest
168
171
artifact-name : windows-nightly
169
172
godot-binary : godot.windows.editor.dev.x86_64.exe
173
+ failable : false
170
174
171
175
# Linux
172
176
173
177
- name : linux
174
178
os : ubuntu-22.04
175
179
artifact-name : linux-nightly
176
180
godot-binary : godot.linuxbsd.editor.dev.x86_64
181
+ failable : false
177
182
178
183
- name : linux-4.4
179
184
os : ubuntu-22.04
180
185
artifact-name : linux-4.4
181
186
godot-binary : godot.linuxbsd.editor.dev.x86_64
187
+ failable : false
182
188
183
189
# Deliberately don't include:
184
190
#
@@ -214,17 +220,25 @@ jobs:
214
220
run : cargo build --release ${{ matrix.rust-extra-args }}
215
221
216
222
- name : " Run examples for short time"
223
+ continue-on-error : ${{ matrix.failable }}
224
+ env :
225
+ FAILABLE : ${{ matrix.failable }}
217
226
run : |
218
227
# Enable extended globbing to allow pattern exclusion.
219
228
shopt -s extglob
220
229
221
230
# Match all directories/files except `target` and any starting with `.`.
222
231
files='!(target|.*)/'
223
-
232
+ if [[ $FAILABLE == "true" ]]; then
233
+ # MacOS x86 – try to rerun demo projects several times on fail.
234
+ RUN="./.github/other/retry.sh ./.github/other/check-example.sh"
235
+ else
236
+ RUN="./.github/other/check-example.sh"
237
+ fi
224
238
# List all folders in current directory. Don't quote $files variable.
225
239
for demo in $files; do
226
240
# Strip trailing '/' from folder name.
227
- ./.github/other/check-example.sh "${demo%/}"
241
+ $RUN "${demo%/}"
228
242
done
229
243
230
244
0 commit comments