44
55# Global Settings
66env :
7+ SCONS_FLAGS : >-
8+ dev_mode=yes
9+ module_text_server_fb_enabled=yes
10+ "accesskit_sdk_path=${{ github.workspace }}/accesskit-c-0.17.0/"
711 GODOT_CPP_BRANCH : 4.4
8- SCONSFLAGS : verbose=yes warnings=extra werror=yes module_text_server_fb_enabled=yes strict_checks=yes "accesskit_sdk_path=${{ github.workspace }}/accesskit-c-0.15.1/"
912 DOTNET_NOLOGO : true
1013 DOTNET_CLI_TELEMETRY_OPTOUT : true
11- TSAN_OPTIONS : suppressions=${{ github.workspace }}/misc/error_suppressions/tsan.txt
12- UBSAN_OPTIONS : suppressions=${{ github.workspace }}/misc/error_suppressions/ubsan.txt
14+ ASAN_OPTIONS : color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/asan.txt
15+ LSAN_OPTIONS : color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/lsan.txt
16+ TSAN_OPTIONS : color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/tsan.txt
17+ UBSAN_OPTIONS : color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/ubsan.txt
1318
1419jobs :
1520 build-linux :
@@ -24,75 +29,82 @@ jobs:
2429 - name : Editor w/ Mono (target=editor)
2530 cache-name : linux-editor-mono
2631 target : editor
27- sconsflags : module_mono_enabled=yes
32+ scons-flags : module_mono_enabled=yes
2833 bin : ./bin/godot.linuxbsd.editor.x86_64.mono
2934 build-mono : true
30- tests : false # Disabled due freeze caused by mix Mono build and CI
3135 doc-test : true
3236 proj-conv : true
3337 api-compat : true
3438 artifact : true
3539 # Validate godot-cpp compatibility on one arbitrary editor build.
3640 godot-cpp : true
3741
38- - name : Editor with doubles and GCC sanitizers (target=editor, tests=yes, dev_build=yes, scu_build=yes, precision=double, use_asan=yes, use_ubsan=yes, linker=mold)
42+ - name : Editor with doubles and GCC sanitizers (target=editor, dev_build=yes, scu_build=yes, precision=double, use_asan=yes, use_ubsan=yes, linker=mold)
3943 cache-name : linux-editor-double-sanitizers
4044 target : editor
4145 # Debug symbols disabled as they're huge on this build and we hit the 14 GB limit for runners.
42- sconsflags : dev_build=yes scu_build=yes debug_symbols=no precision=double use_asan=yes use_ubsan=yes linker=mold
46+ scons-flags : >-
47+ dev_build=yes
48+ scu_build=yes
49+ debug_symbols=no
50+ precision=double
51+ use_asan=yes
52+ use_ubsan=yes
53+ linker=mold
4354 bin : ./bin/godot.linuxbsd.editor.dev.double.x86_64.san
44- build-mono : false
45- tests : true
4655 proj-test : true
47- # Skip 2GiB artifact speeding up action.
48- artifact : false
4956
50- - name : Editor with clang sanitizers (target=editor, tests=yes, dev_build=yes, use_asan=yes, use_ubsan=yes, use_llvm=yes, linker=lld)
57+ - name : Editor with clang sanitizers (target=editor, dev_build=yes, use_asan=yes, use_ubsan=yes, use_llvm=yes, linker=lld)
5158 cache-name : linux-editor-llvm-sanitizers
5259 target : editor
53- sconsflags : dev_build=yes use_asan=yes use_ubsan=yes use_llvm=yes linker=lld
60+ scons-flags : >-
61+ dev_build=yes
62+ use_asan=yes
63+ use_ubsan=yes
64+ use_llvm=yes
65+ linker=lld
5466 bin : ./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san
55- build-mono : false
56- tests : true
57- # Skip 2GiB artifact speeding up action.
58- artifact : false
5967 # Test our oldest supported SCons/Python versions on one arbitrary editor build.
6068 legacy-scons : true
6169
62- - name : Editor with ThreadSanitizer (target=editor, tests=yes, dev_build=yes, use_tsan=yes, use_llvm=yes, linker=lld)
70+ - name : Editor with ThreadSanitizer (target=editor, dev_build=yes, use_tsan=yes, use_llvm=yes, linker=lld)
6371 cache-name : linux-editor-thread-sanitizer
6472 target : editor
65- tests : true
66- sconsflags : dev_build=yes use_tsan=yes use_llvm=yes linker=lld
73+ scons-flags : >-
74+ dev_build=yes
75+ use_tsan=yes
76+ use_llvm=yes
77+ linker=lld
6778 bin : ./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san
68- build-mono : false
69- # Skip 2GiB artifact speeding up action.
70- artifact : false
7179
72- - name : Template w/ Mono, release (target=template_release, tests=yes )
80+ - name : Template w/ Mono, release (target=template_release)
7381 cache-name : linux-template-mono
7482 target : template_release
75- sconsflags : module_mono_enabled=yes
83+ scons-flags : module_mono_enabled=yes
7684 bin : ./bin/godot.linuxbsd.template_release.x86_64.mono
77- build-mono : false
78- tests : true
7985 artifact : true
8086
81- - name : Template w/ Mono, debug (target=template_debug, tests=yes )
87+ - name : Template w/ Mono, debug (target=template_debug)
8288 cache-name : linux-template-mono-debug
8389 target : template_debug
84- sconsflags : module_mono_enabled=yes
90+ scons-flags : module_mono_enabled=yes
8591 bin : ./bin/godot.linuxbsd.template_debug.x86_64.mono
86- build-mono : false
87- tests : true
8892 artifact : true
8993
90- - name : Minimal template (target=template_release, tests=yes, everything disabled)
94+ - name : Minimal template (target=template_release, everything disabled)
9195 cache-name : linux-template-minimal
9296 target : template_release
93- sconsflags : modules_enabled_by_default=no disable_3d=yes disable_advanced_gui=yes disable_physics_2d=yes disable_physics_3d=yes deprecated=no minizip=no
97+ scons-flags : >-
98+ modules_enabled_by_default=no
99+ module_text_server_fb_enabled=no
100+ disable_3d=yes
101+ disable_advanced_gui=yes
102+ disable_physics_2d=yes
103+ disable_physics_3d=yes
104+ deprecated=no
105+ minizip=no
106+ brotli=no
94107 bin : ./bin/godot.linuxbsd.template_release.x86_64
95- tests : true
96108 artifact : true
97109
98110 steps :
@@ -101,16 +113,13 @@ jobs:
101113 with :
102114 submodules : recursive
103115
104- - name : Linux dependencies for tests
105- if : matrix.proj-test
106- run : |
107- sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
108- sudo apt-get install mesa-vulkan-drivers
109-
110- # TODO: Figure out somehow how to embed this one.
111- - name : wayland-scanner dependency
116+ - name : Setup dependencies
112117 run : |
113- sudo apt-get install libwayland-bin
118+ sudo apt-get update
119+ sudo apt-get install libwayland-bin # TODO: Figure out somehow how to embed this one.
120+ if [ "${{ matrix.proj-test }}" == "true" ]; then
121+ sudo apt-get install mesa-vulkan-drivers
122+ fi
114123
115124 - name : Free disk space on runner
116125 run : |
@@ -152,12 +161,12 @@ jobs:
152161153162 with :
154163 repo : AccessKit/accesskit-c
155- version : tags/0.15.1
156- file : accesskit-c-0.15.1 .zip
157- target : accesskit-c-0.15.1 /accesskit_c.zip
164+ version : tags/0.17.0
165+ file : accesskit-c-0.17.0 .zip
166+ target : accesskit-c-0.17.0 /accesskit_c.zip
158167
159168 - name : Extract pre-built AccessKit
160- run : unzip -o accesskit-c-0.15.1 /accesskit_c.zip
169+ run : unzip -o accesskit-c-0.17.0 /accesskit_c.zip
161170
162171 - name : Install mold linker
163172 if : matrix.proj-test
@@ -166,10 +175,9 @@ jobs:
166175 - name : Compilation
167176 uses : ./.github/actions/godot-build
168177 with :
169- sconsflags : ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
178+ scons-flags : ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }}
170179 platform : linuxbsd
171180 target : ${{ matrix.target }}
172- tests : ${{ matrix.tests }}
173181
174182 - name : Compilation (godot-cpp)
175183 uses : ./.github/actions/godot-cpp-build
@@ -209,7 +217,6 @@ jobs:
209217 name : ${{ matrix.cache-name }}
210218
211219 - name : Unit tests
212- if : matrix.tests
213220 run : |
214221 ${{ matrix.bin }} --version
215222 ${{ matrix.bin }} --help
0 commit comments