summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormyaaaaaaaaa <103326468+myaaaaaaaaa@users.noreply.github.com>2023-02-22 14:20:29 -0500
committermyaaaaaaaaa <103326468+myaaaaaaaaa@users.noreply.github.com>2023-06-26 11:47:42 -0400
commit8b78ad5fc4f6c6cb955df9a11adf58f20c9ae29e (patch)
tree9eab5eed5e3e2e4609ef07d092d4d5b536fb9edc
parente74bf831c2d3ece79b849405f03999281f807648 (diff)
downloadredot-engine-8b78ad5fc4f6c6cb955df9a11adf58f20c9ae29e.tar.gz
Add a Linux ThreadSanitizer job to CI
-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 aef8f83a53..dba869f030 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
@@ -59,6 +60,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
+