summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/linux_builds.yml11
-rw-r--r--misc/error_suppressions/tsan.txt7
2 files changed, 18 insertions, 0 deletions
diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml
index 2448123ecb..c812996fd4 100644
--- a/.github/workflows/linux_builds.yml
+++ b/.github/workflows/linux_builds.yml
@@ -9,6 +9,7 @@ env:
SCONSFLAGS: verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
+ TSAN_OPTIONS: suppressions=misc/error_suppressions/tsan.txt
concurrency:
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-linux
@@ -58,6 +59,16 @@ jobs:
# Skip 2GiB artifact speeding up action.
artifact: false
+ - name: Editor with ThreadSanitizer (target=editor, tests=yes, dev_build=yes, use_tsan=yes, use_llvm=yes, linker=lld)
+ cache-name: linux-editor-thread-sanitizer
+ target: editor
+ tests: true
+ sconsflags: dev_build=yes use_tsan=yes use_llvm=yes linker=lld
+ bin: "./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san"
+ build-mono: false
+ # Skip 2GiB artifact speeding up action.
+ artifact: false
+
- name: Template w/ Mono (target=template_release)
cache-name: linux-template-mono
target: template_release
diff --git a/misc/error_suppressions/tsan.txt b/misc/error_suppressions/tsan.txt
new file mode 100644
index 0000000000..a67a22810b
--- /dev/null
+++ b/misc/error_suppressions/tsan.txt
@@ -0,0 +1,7 @@
+# See the below link for an explanation of this file's format
+# https://github.com/google/sanitizers/wiki/ThreadSanitizerSuppressions
+
+deadlock:tests/core/templates/test_command_queue.h
+deadlock:modules/text_server_adv/text_server_adv.cpp
+deadlock:modules/text_server_fb/text_server_fb.cpp
+