Skip to content

Commit a01cc6d

Browse files
feat: GodotJS executable now supports --generate-types
Also: - Cleaned up "jsb.editor.codegen" APIs slightly. - Web build fixes. in particular addresses closure compiler (release) web build issues.
1 parent 154398f commit a01cc6d

86 files changed

Lines changed: 1404 additions & 763 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1-
name: PNPM Build
2-
description: Setup pnpm, install dependencies, and build
1+
name: pnpm Install
2+
description: Setup pnpm, install dependencies
33
runs:
44
using: composite
55
steps:
66
- name: 🛫 Setup pnpm
7-
uses: pnpm/action-setup@v4
7+
uses: pnpm/action-setup@v6
88

99
- name: 🦕❌ Setup node.js
10-
uses: actions/setup-node@v4
10+
uses: actions/setup-node@v5
1111
with:
12-
node-version: 22
12+
node-version: 24
1313
cache: "pnpm"
1414

1515
- name: 🛠️ Install dependencies & build
1616
run: |
1717
pnpm install
18-
pnpm build
1918
shell: bash

.github/actions/upload-asset/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ runs:
2929
shell: bash
3030

3131
- name: ⏬ Download build
32-
uses: actions/download-artifact@v4
32+
uses: actions/download-artifact@v8
3333
with:
3434
name: ${{ steps.name.outputs.name }}
3535
path: ${{ steps.name.outputs.name }}
@@ -39,7 +39,7 @@ runs:
3939
shell: bash
4040

4141
- name: ⏫ Upload Release Asset
42-
uses: actions/github-script@v6
42+
uses: actions/github-script@v9
4343
with:
4444
github-token: ${{ inputs.token }}
4545
result-encoding: json

.github/workflows/build_android.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
continue-on-error: true
6969

7070
- name: Download scripts/out
71-
uses: actions/download-artifact@v4
71+
uses: actions/download-artifact@v8
7272
with:
7373
name: scripts-out
7474
path: ${{github.workspace}}/modules/GodotJS/scripts/out

.github/workflows/build_ios.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
cache-name: ios-${{ matrix.target }}-${{inputs.version}}-${{ matrix.engine }}
6565

6666
- name: Download scripts/out
67-
uses: actions/download-artifact@v4
67+
uses: actions/download-artifact@v8
6868
with:
6969
name: scripts-out
7070
path: ${{github.workspace}}/modules/GodotJS/scripts/out

.github/workflows/build_linux.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,18 +78,11 @@ jobs:
7878
continue-on-error: true
7979

8080
- name: Download scripts/out
81-
uses: actions/download-artifact@v4
81+
uses: actions/download-artifact@v8
8282
with:
8383
name: scripts-out
8484
path: ${{github.workspace}}/modules/GodotJS/scripts/out
8585

86-
- name: Download tests/project
87-
if: ${{ !inputs.release && matrix.target == 'editor' }}
88-
uses: actions/download-artifact@v4
89-
with:
90-
name: tests-project
91-
path: ${{github.workspace}}/modules/GodotJS/tests/project/.godot/GodotJS
92-
9386
- name: Setup Python and SCons
9487
uses: ./.github/actions/godot-deps
9588

@@ -129,6 +122,26 @@ jobs:
129122
${{ !inputs.release && matrix.target == 'editor' && 'tests=yes' || '' }}
130123
platform: linuxbsd
131124

125+
- name: Setup pnpm
126+
if: ${{ !inputs.release && matrix.target == 'editor' }}
127+
uses: pnpm/action-setup@v6
128+
with:
129+
version: 10.11.0
130+
131+
- name: Setup Node.js
132+
if: ${{ !inputs.release && matrix.target == 'editor' }}
133+
uses: actions/setup-node@v5
134+
with:
135+
node-version: 24
136+
137+
- name: Build tests/project
138+
if: ${{ !inputs.release && matrix.target == 'editor' }}
139+
shell: bash
140+
run: |
141+
set -euo pipefail
142+
pnpm -C "${{ github.workspace }}/modules/GodotJS/tests/project" install --ignore-workspace
143+
GODOT="${{ github.workspace }}/bin/godot.linuxbsd.editor.x86_64" pnpm -C "${{ github.workspace }}/modules/GodotJS/tests/project" build
144+
132145
- name: Save Godot build cache
133146
uses: ./.github/actions/godot-cache-save
134147
with:

.github/workflows/build_macos.yml

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -96,25 +96,21 @@ jobs:
9696
run: |
9797
if sh misc/scripts/install_vulkan_sdk_macos.sh; then
9898
echo "VULKAN_ENABLED=yes" >> "$GITHUB_OUTPUT"
99+
latest_sdk="$(ls -dt "$HOME"/VulkanSDK/* 2>/dev/null | head -n1 || true)"
100+
echo "VULKAN_SDK_PATH=$latest_sdk" >> "$GITHUB_OUTPUT"
99101
else
100102
echo "::warning::macOS: Vulkan SDK installation failed, building without Vulkan support."
101103
echo "VULKAN_ENABLED=no" >> "$GITHUB_OUTPUT"
104+
echo "VULKAN_SDK_PATH=" >> "$GITHUB_OUTPUT"
102105
fi
103106
continue-on-error: true
104107

105108
- name: Download scripts/out
106-
uses: actions/download-artifact@v4
109+
uses: actions/download-artifact@v8
107110
with:
108111
name: scripts-out
109112
path: ${{github.workspace}}/modules/GodotJS/scripts/out
110113

111-
- name: Download tests/project
112-
if: ${{ !inputs.release && matrix.target == 'editor' }}
113-
uses: actions/download-artifact@v4
114-
with:
115-
name: tests-project
116-
path: ${{github.workspace}}/modules/GodotJS/tests/project/.godot/GodotJS
117-
118114
- name: Compilation (x86_64)
119115
uses: ./.github/actions/godot-build
120116
with:
@@ -162,6 +158,28 @@ jobs:
162158
strip bin/godot.*
163159
chmod +x bin/godot.*
164160
161+
- name: Setup pnpm
162+
if: ${{ !inputs.release && matrix.target == 'editor' }}
163+
uses: pnpm/action-setup@v6
164+
with:
165+
version: 10.11.0
166+
167+
- name: Setup Node.js
168+
if: ${{ !inputs.release && matrix.target == 'editor' }}
169+
uses: actions/setup-node@v5
170+
with:
171+
node-version: 24
172+
173+
- name: Build tests/project
174+
if: ${{ !inputs.release && matrix.target == 'editor' }}
175+
shell: bash
176+
env:
177+
VULKAN_SDK_PATH: ${{ steps.vulkan-sdk.outputs.VULKAN_SDK_PATH }}
178+
run: |
179+
set -euo pipefail
180+
pnpm -C "${{ github.workspace }}/modules/GodotJS/tests/project" install --ignore-workspace
181+
GODOT="${{ github.workspace }}/bin/godot.macos.editor.universal" pnpm -C "${{ github.workspace }}/modules/GodotJS/tests/project" build
182+
165183
- name: Upload artifact
166184
uses: ./.github/actions/upload-artifact
167185
with:
@@ -193,7 +211,7 @@ jobs:
193211
submodules: recursive
194212

195213
- name: ⏬ Download editor
196-
uses: actions/download-artifact@v4
214+
uses: actions/download-artifact@v8
197215
with:
198216
name: macos-editor-${{inputs.version}}-${{ matrix.engine }}
199217
path: macos-editor-${{inputs.version}}-${{ matrix.engine }}
@@ -207,20 +225,20 @@ jobs:
207225
chmod +x editor-app/Godot.app/Contents/MacOS/Godot
208226
209227
- name: ⏫ Upload editor app
210-
uses: actions/upload-artifact@v4
228+
uses: actions/upload-artifact@v7
211229
with:
212230
name: macos-editor-app-${{inputs.version}}-${{ matrix.engine }}
213231
path: editor-app
214232

215233
- name: ⏬ Download template-release
216-
uses: actions/download-artifact@v4
234+
uses: actions/download-artifact@v8
217235
if: ${{ inputs.release }}
218236
with:
219237
name: macos-template_release-${{inputs.version}}-${{ matrix.engine }}
220238
path: macos-template_release-${{inputs.version}}-${{ matrix.engine }}
221239

222240
- name: ⏬ Download template-debug
223-
uses: actions/download-artifact@v4
241+
uses: actions/download-artifact@v8
224242
if: ${{ inputs.release }}
225243
with:
226244
name: macos-template_debug-${{inputs.version}}-${{ matrix.engine }}
@@ -238,7 +256,7 @@ jobs:
238256
239257
- name: ⏫ Upload template app
240258
if: ${{ inputs.release }}
241-
uses: actions/upload-artifact@v4
259+
uses: actions/upload-artifact@v7
242260
with:
243261
name: macos-template-app-${{inputs.version}}-${{ matrix.engine }}
244262
path: template-app

.github/workflows/build_web.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,14 +62,14 @@ jobs:
6262
submodules: recursive
6363

6464
- name: Download scripts/out
65-
uses: actions/download-artifact@v4
65+
uses: actions/download-artifact@v8
6666
with:
6767
name: scripts-out
6868
path: ${{github.workspace}}/modules/GodotJS/scripts/out
6969

7070
- name: Download impl/web/js
7171
if: matrix.engine == 'browser'
72-
uses: actions/download-artifact@v4
72+
uses: actions/download-artifact@v8
7373
with:
7474
name: impl-web-js
7575
path: ${{github.workspace}}/modules/GodotJS/impl/web/js

.github/workflows/build_windows.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,11 @@ jobs:
6666
continue-on-error: true
6767

6868
- name: Download scripts/out
69-
uses: actions/download-artifact@v4
69+
uses: actions/download-artifact@v8
7070
with:
7171
name: scripts-out
7272
path: ${{github.workspace}}/modules/GodotJS/scripts/out
7373

74-
- name: Download tests/project
75-
if: ${{ !inputs.release && matrix.target == 'editor' }}
76-
uses: actions/download-artifact@v4
77-
with:
78-
name: tests-project
79-
path: ${{github.workspace}}/modules/GodotJS/tests/project/.godot/GodotJS
80-
8174
- name: Setup Python and SCons
8275
uses: ./.github/actions/godot-deps
8376

@@ -151,6 +144,26 @@ jobs:
151144
run: |
152145
Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force
153146
147+
- name: Setup pnpm
148+
if: ${{ !inputs.release && matrix.target == 'editor' }}
149+
uses: pnpm/action-setup@v6
150+
with:
151+
version: 10.11.0
152+
153+
- name: Setup Node.js
154+
if: ${{ !inputs.release && matrix.target == 'editor' }}
155+
uses: actions/setup-node@v5
156+
with:
157+
node-version: 24
158+
159+
- name: Build tests/project
160+
if: ${{ !inputs.release && matrix.target == 'editor' }}
161+
shell: pwsh
162+
run: |
163+
$env:GODOT = "${{ github.workspace }}/bin/godot.windows.editor.x86_64.exe"
164+
pnpm -C "${{ github.workspace }}/modules/GodotJS/tests/project" install --ignore-workspace
165+
pnpm -C "${{ github.workspace }}/modules/GodotJS/tests/project" build
166+
154167
- name: Upload artifact
155168
uses: ./.github/actions/upload-artifact
156169
with:

.github/workflows/misc_changesets.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ jobs:
2121
uses: actions/checkout@v6
2222

2323
- name: 🛫 Setup pnpm
24-
uses: pnpm/action-setup@v4
24+
uses: pnpm/action-setup@v6
2525

2626
- name: 🦕❌ Setup node.js
27-
uses: actions/setup-node@v4
27+
uses: actions/setup-node@v5
2828
with:
29-
node-version: 20
29+
node-version: 24
3030
cache: "pnpm"
3131

3232
- name: 🛠️ Install dependencies

.github/workflows/misc_environment.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,23 @@ jobs:
1010
- name: ⏬ Checkout repository
1111
uses: actions/checkout@v6
1212

13-
- name: 🛠️ pnpm and build
14-
uses: ./.github/actions/pnpm-build
13+
- name: 🛠️ pnpm install
14+
uses: ./.github/actions/pnpm-install
15+
16+
- name: 🛠️ pnpm build
17+
run: |
18+
pnpm build
19+
shell: bash
1520

1621
- name: ⬆️ Upload scripts/out
17-
uses: actions/upload-artifact@v4
22+
uses: actions/upload-artifact@v7
1823
with:
1924
name: scripts-out
2025
path: ${{github.workspace}}/scripts/out
2126
retention-days: 10
2227

23-
- name: ⬆️ Upload tests/project
24-
uses: actions/upload-artifact@v4
25-
with:
26-
name: tests-project
27-
path: ${{github.workspace}}/tests/project/.godot/GodotJS
28-
retention-days: 10
29-
3028
- name: ⬆️ Upload impl/web/js
31-
uses: actions/upload-artifact@v4
29+
uses: actions/upload-artifact@v7
3230
with:
3331
name: impl-web-js
3432
path: ${{github.workspace}}/impl/web/js

0 commit comments

Comments
 (0)