Skip to content

Commit 6a1ab24

Browse files
committed
Merge pull request #97166 from Repiteo/ci/godot-cpp
CI: Improve `godot-cpp` actions
2 parents d427a60 + 593744b commit 6a1ab24

File tree

2 files changed

+28
-29
lines changed

2 files changed

+28
-29
lines changed

.github/workflows/godot_cpp_test.yml

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -21,49 +21,44 @@ jobs:
2121
- name: Checkout
2222
uses: actions/checkout@v4
2323
with:
24-
submodules: recursive
25-
26-
- name: Setup Python and SCons
27-
uses: ./.github/actions/godot-deps
24+
sparse-checkout: .github
2825

29-
# Checkout godot-cpp
3026
- name: Checkout godot-cpp
3127
uses: actions/checkout@v4
3228
with:
29+
submodules: recursive
3330
repository: godotengine/godot-cpp
3431
ref: ${{ env.GODOT_CPP_BRANCH }}
35-
submodules: recursive
3632
path: godot-cpp
3733

38-
# Download generated API dump
34+
- name: Setup Python and SCons
35+
uses: ./.github/actions/godot-deps
36+
37+
- name: Setup GCC problem matcher
38+
uses: ammaraskar/gcc-problem-matcher@master
39+
3940
- name: Download GDExtension interface and API dump
4041
uses: ./.github/actions/download-artifact
4142
with:
4243
name: godot-api-dump
43-
path: ./godot-api
44+
path: ./godot-cpp/gdextension
4445

45-
# Extract and override existing files with generated files
46-
- name: Extract GDExtension interface and API dump
47-
run: |
48-
cp -f godot-api/gdextension_interface.h godot-cpp/gdextension/
49-
cp -f godot-api/extension_api.json godot-cpp/gdextension/
46+
# TODO: Enable caching when godot-cpp has proper cache limiting.
5047

51-
# TODO: Add caching to the SCons build and store it for CI via the godot-cache
52-
# action.
48+
# - name: Restore Godot build cache
49+
# uses: ./.github/actions/godot-cache-restore
50+
# with:
51+
# cache-name: godot-cpp
52+
# continue-on-error: true
5353

54-
# Build godot-cpp test extension
5554
- name: Build godot-cpp test extension
56-
run: |
57-
cd godot-cpp/test
58-
scons target=template_debug dev_build=yes
59-
cd ../..
60-
61-
gdextension-c-compile:
62-
runs-on: 'ubuntu-20.04'
63-
name: 'Check GDExtension header with a C compiler'
64-
steps:
65-
- uses: actions/checkout@v4
55+
env: # Keep synced with godot-build.
56+
SCONS_CACHE: ${{ github.workspace }}/.scons-cache/
57+
SCONS_CACHE_LIMIT: 7168
58+
run: scons --directory=./godot-cpp/test target=template_debug dev_build=yes verbose=yes
6659

67-
- name: 'Run C compiler on gdextension_interface.h'
68-
run: |
69-
gcc -c core/extension/gdextension_interface.h
60+
# - name: Save Godot build cache
61+
# uses: ./.github/actions/godot-cache-save
62+
# with:
63+
# cache-name: godot-cpp
64+
# continue-on-error: true

.github/workflows/static_checks.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,7 @@ jobs:
5757
- name: Class reference schema checks
5858
run: |
5959
xmllint --noout --schema doc/class.xsd doc/classes/*.xml modules/*/doc_classes/*.xml platform/*/doc_classes/*.xml
60+
61+
- name: Run C compiler on `gdextension_interface.h`
62+
run: |
63+
gcc -c core/extension/gdextension_interface.h

0 commit comments

Comments
 (0)