@@ -150,35 +150,41 @@ jobs:
150150 matrix :
151151 include :
152152 # macOS
153-
153+ # macOS x86 (intel) has tendency to fail semi-randomly.
154+ # We allow this job to fail without invalidating the whole run.
154155 - name : macos-x86
155156 os : macos-13
156157 artifact-name : macos-x86-nightly
157158 godot-binary : godot.macos.editor.dev.x86_64
159+ failable : true
158160
159161 - name : macos-arm
160162 os : macos-latest
161163 artifact-name : macos-arm-nightly
162164 godot-binary : godot.macos.editor.dev.arm64
165+ failable : false
163166
164167 # Windows
165168
166169 - name : windows
167170 os : windows-latest
168171 artifact-name : windows-nightly
169172 godot-binary : godot.windows.editor.dev.x86_64.exe
173+ failable : false
170174
171175 # Linux
172176
173177 - name : linux
174178 os : ubuntu-22.04
175179 artifact-name : linux-nightly
176180 godot-binary : godot.linuxbsd.editor.dev.x86_64
181+ failable : false
177182
178183 - name : linux-4.4
179184 os : ubuntu-22.04
180185 artifact-name : linux-4.4
181186 godot-binary : godot.linuxbsd.editor.dev.x86_64
187+ failable : false
182188
183189 # Deliberately don't include:
184190 #
@@ -214,17 +220,25 @@ jobs:
214220 run : cargo build --release ${{ matrix.rust-extra-args }}
215221
216222 - name : " Run examples for short time"
223+ continue-on-error : ${{ matrix.failable }}
224+ env :
225+ FAILABLE : ${{ matrix.failable }}
217226 run : |
218227 # Enable extended globbing to allow pattern exclusion.
219228 shopt -s extglob
220229
221230 # Match all directories/files except `target` and any starting with `.`.
222231 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
224238 # List all folders in current directory. Don't quote $files variable.
225239 for demo in $files; do
226240 # Strip trailing '/' from folder name.
227- ./.github/other/check-example.sh "${demo%/}"
241+ $RUN "${demo%/}"
228242 done
229243
230244
0 commit comments