Skip to content

Commit 5fddbea

Browse files
committed
Merge branch 'master' of https://github.com/carsonetb/godot
2 parents 157fcf1 + 825ef23 commit 5fddbea

File tree

3,492 files changed

+1099969
-518016
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,492 files changed

+1099969
-518016
lines changed

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ thirdparty/* linguist-vendored
99
*.bat eol=crlf
1010
*.sln eol=crlf
1111
*.csproj eol=crlf
12-
misc/msvs/*.template eol=crlf
12+
misc/msvs/* eol=crlf
1313
# And some test files where the EOL matters
1414
*.test.txt -text
1515

.github/CODEOWNERS

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,25 @@
4444

4545
# Editor
4646

47-
/editor/**/*2d* @godotengine/2d-editor
48-
/editor/**/*3d* @godotengine/3d-editor
49-
/editor/**/*audio* @godotengine/audio
50-
/editor/**/*code* @godotengine/script-editor
51-
/editor/**/*debugger* @godotengine/debugger
52-
/editor/**/*dock* @godotengine/docks
53-
/editor/**/*script* @godotengine/script-editor
54-
/editor/**/*shader* @godotengine/shaders
47+
/editor/ @godotengine/docks
48+
/editor/script/ @godotengine/script-editor
49+
/editor/shader/ @godotengine/script-editor @godotengine/shaders
50+
/editor/animation/ @godotengine/animation
51+
/editor/audio/ @godotengine/audio
5552
/editor/debugger/ @godotengine/debugger
53+
/editor/doc/ @godotengine/documentation
54+
/editor/docks/ @godotengine/docks
5655
/editor/gui/ @godotengine/usability @godotengine/gui-nodes
5756
/editor/icons/ @godotengine/usability
5857
/editor/import/ @godotengine/import
58+
/editor/inspector/ @godotengine/docks
59+
/editor/scene/2d/ @godotengine/2d-editor
60+
/editor/scene/2d/physics @godotengine/2d-editor @godotengine/physics
61+
/editor/scene/3d/ @godotengine/3d-editor
62+
/editor/scene/3d/physics @godotengine/3d-editor @godotengine/physics
63+
/editor/scene/gui/ @godotengine/gui-nodes
5964
/editor/themes/ @godotengine/usability @godotengine/gui-nodes
65+
/editor/translations/ @godotengine/usability
6066

6167
# Main
6268

.github/actions/godot-build/action.yml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,26 @@ inputs:
55
target:
66
description: Build target (editor, template_release, template_debug).
77
default: editor
8-
tests:
9-
description: Unit tests.
10-
default: false
11-
required: false
8+
type: choice
9+
options: [editor, template_debug, template_release]
1210
platform:
1311
description: Target platform.
14-
required: false
15-
sconsflags:
12+
type: string
13+
scons-flags:
1614
description: Additional SCons flags.
17-
default: ""
18-
required: false
15+
type: string
1916
scons-cache:
2017
description: The SCons cache path.
2118
default: ${{ github.workspace }}/.scons_cache/
19+
type: string
2220

2321
runs:
2422
using: composite
2523
steps:
2624
- name: SCons Build
2725
shell: sh
28-
env:
29-
SCONSFLAGS: ${{ inputs.sconsflags }}
3026
run: |
31-
echo "Building with flags:" platform=${{ inputs.platform }} target=${{ inputs.target }} tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }} "cache_path=${{ inputs.scons-cache }}" redirect_build_objects=no
27+
echo "Building with flags:" platform=${{ inputs.platform }} target=${{ inputs.target }} ${{ inputs.scons-flags }} "cache_path=${{ inputs.scons-cache }}" redirect_build_objects=no
3228
3329
if [ "${{ inputs.target }}" != "editor" ]; then
3430
# Ensure we don't include editor code in export template builds.
@@ -42,5 +38,5 @@ runs:
4238
export BUILD_NAME="gh"
4339
fi
4440
45-
scons platform=${{ inputs.platform }} target=${{ inputs.target }} tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }} "cache_path=${{ inputs.scons-cache }}" redirect_build_objects=no
41+
scons platform=${{ inputs.platform }} target=${{ inputs.target }} ${{ inputs.scons-flags }} "cache_path=${{ inputs.scons-cache }}" redirect_build_objects=no
4642
ls -l bin/

.github/actions/godot-cpp-build/action.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,4 @@ runs:
3535

3636
- name: SCons Build
3737
shell: sh
38-
env:
39-
SCONS_CACHE: ${{ inputs.scons-cache }}
4038
run: scons --directory=./godot-cpp/test "gdextension_dir=${{ github.workspace }}" ${{ inputs.scons-flags }}

.github/actions/godot-project-test/action.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,22 @@ runs:
1919
2020
# Editor is quite complicated piece of software, so it is easy to introduce bug here.
2121

22+
- name: Open and close editor (Headless)
23+
shell: sh
24+
run: |
25+
xvfb-run ${{ inputs.bin }} --headless --import --path test_project 2>&1 | tee sanitizers_log.txt || true
26+
misc/scripts/check_ci_log.py sanitizers_log.txt
27+
2228
- name: Open and close editor (Vulkan)
2329
shell: sh
2430
run: |
25-
xvfb-run ${{ inputs.bin }} --audio-driver Dummy --editor --quit --path test_project 2>&1 | tee sanitizers_log.txt || true
31+
xvfb-run ${{ inputs.bin }} --audio-driver Dummy --import --path test_project 2>&1 | tee sanitizers_log.txt || true
2632
misc/scripts/check_ci_log.py sanitizers_log.txt
2733
2834
- name: Open and close editor (GLES3)
2935
shell: sh
3036
run: |
31-
DRI_PRIME=0 xvfb-run ${{ inputs.bin }} --audio-driver Dummy --rendering-driver opengl3 --editor --quit --path test_project 2>&1 | tee sanitizers_log.txt || true
37+
DRI_PRIME=0 xvfb-run ${{ inputs.bin }} --audio-driver Dummy --rendering-driver opengl3 --import --path test_project 2>&1 | tee sanitizers_log.txt || true
3238
misc/scripts/check_ci_log.py sanitizers_log.txt
3339
3440
# Run test project

.github/workflows/android_builds.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ on:
44

55
# Global Settings
66
env:
7-
SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no module_text_server_fb_enabled=yes strict_checks=yes
7+
SCONS_FLAGS: >-
8+
dev_mode=yes
9+
module_text_server_fb_enabled=yes
10+
tests=no
11+
swappy=yes
812
913
jobs:
1014
build-android:
@@ -18,20 +22,19 @@ jobs:
1822
- name: Editor (target=editor)
1923
cache-name: android-editor
2024
target: editor
21-
tests: false
22-
sconsflags: arch=arm64 production=yes swappy=yes
25+
scons-flags: >-
26+
arch=arm64
27+
production=yes
2328
2429
- name: Template arm32 (target=template_release, arch=arm32)
2530
cache-name: android-template-arm32
2631
target: template_release
27-
tests: false
28-
sconsflags: arch=arm32 swappy=yes
32+
scons-flags: arch=arm32
2933

3034
- name: Template arm64 (target=template_release, arch=arm64)
3135
cache-name: android-template-arm64
3236
target: template_release
33-
tests: false
34-
sconsflags: arch=arm64 swappy=yes
37+
scons-flags: arch=arm64
3538

3639
steps:
3740
- name: Checkout
@@ -68,10 +71,9 @@ jobs:
6871
- name: Compilation
6972
uses: ./.github/actions/godot-build
7073
with:
71-
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
74+
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }}
7275
platform: android
7376
target: ${{ matrix.target }}
74-
tests: ${{ matrix.tests }}
7577

7678
- name: Save Godot build cache
7779
uses: ./.github/actions/godot-cache-save

.github/workflows/ios_builds.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ on:
44

55
# Global Settings
66
env:
7-
SCONSFLAGS: verbose=yes warnings=extra werror=yes debug_symbols=no module_text_server_fb_enabled=yes strict_checks=yes
7+
SCONS_FLAGS: >-
8+
dev_mode=yes
9+
module_text_server_fb_enabled=yes
10+
tests=no
11+
debug_symbols=no
812
913
jobs:
1014
ios-template:
@@ -28,10 +32,9 @@ jobs:
2832
- name: Compilation (arm64)
2933
uses: ./.github/actions/godot-build
3034
with:
31-
sconsflags: ${{ env.SCONSFLAGS }}
35+
scons-flags: ${{ env.SCONS_FLAGS }}
3236
platform: ios
3337
target: template_release
34-
tests: false
3538

3639
- name: Save Godot build cache
3740
uses: ./.github/actions/godot-cache-save

.github/workflows/linux_builds.yml

Lines changed: 57 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ on:
44

55
# Global Settings
66
env:
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

1419
jobs:
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:
152161
uses: dsaltares/[email protected]
153162
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

Comments
 (0)