Skip to content

Commit 08b934b

Browse files
committed
Enforce AddressSanitizer + LeakSanitizer in CI
1 parent f9dd753 commit 08b934b

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

.github/workflows/full-ci.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,7 @@ jobs:
138138
godot-itest:
139139
name: godot-itest (${{ matrix.name }})
140140
runs-on: ${{ matrix.os }}
141-
# TODO: continue-on-error: false, as soon as memory errors are fixed
142-
continue-on-error: ${{ contains(matrix.name, 'memcheck') }}
141+
continue-on-error: false
143142
timeout-minutes: 24
144143
strategy:
145144
fail-fast: false # cancel all jobs as soon as one fails?
@@ -165,6 +164,10 @@ jobs:
165164
rust-toolchain: stable
166165
godot-binary: godot.linuxbsd.editor.dev.x86_64
167166

167+
# Special Godot binaries compiled with AddressSanitizer/LeakSanitizer to detect UB/leaks.
168+
# Additionally, the Godot source is patched to make dlclose() a no-op, as unloading dynamic libraries loses stacktrace and
169+
# cause false positives like println!. See https://github.com/google/sanitizers/issues/89.
170+
# The gcc version can possibly be removed later, as it is slower and needs a larger artifact than the clang one.
168171
- name: linux-memcheck-gcc
169172
os: ubuntu-20.04
170173
rust-toolchain: stable

0 commit comments

Comments
 (0)