Skip to content

Commit 15a3664

Browse files
committed
Allow macOS job to fail without invalidating the whole action.
1 parent a5f1404 commit 15a3664

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

.github/workflows/ci.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)