Skip to content

Commit 97c16d3

Browse files
authored
Merge pull request #1656 from Ivorforce/gh-action-setup-godot-cpp
Add a separate setup-godot-cpp github action.
2 parents 38056d1 + 9943675 commit 97c16d3

File tree

2 files changed

+66
-27
lines changed

2 files changed

+66
-27
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: Setup godot-cpp
2+
description: Setup build dependencies for godot-cpp.
3+
4+
inputs:
5+
platform:
6+
required: true
7+
description: Target platform.
8+
em-version:
9+
default: 3.1.62
10+
description: Emscripten version.
11+
windows-compiler:
12+
required: true
13+
description: The compiler toolchain to use on Windows ('mingw' or 'msvc').
14+
type: choice
15+
options:
16+
- mingw
17+
- msvc
18+
default: mingw
19+
mingw-version:
20+
default: 12.2.0
21+
description: MinGW version.
22+
ndk-version:
23+
default: r23c
24+
description: Android NDK version.
25+
scons-version:
26+
default: 4.4.0
27+
description: SCons version.
28+
29+
runs:
30+
using: composite
31+
steps:
32+
- name: Setup Python (for SCons)
33+
uses: actions/setup-python@v5
34+
with:
35+
python-version: 3.x
36+
37+
- name: Setup Android dependencies
38+
if: inputs.platform == 'android'
39+
uses: nttld/setup-ndk@v1
40+
with:
41+
ndk-version: ${{ inputs.ndk-version }}
42+
link-to-sdk: true
43+
44+
- name: Setup Web dependencies
45+
if: inputs.platform == 'web'
46+
uses: mymindstorm/setup-emsdk@v14
47+
with:
48+
version: ${{ inputs.em-version }}
49+
no-cache: true
50+
51+
- name: Setup MinGW for Windows/MinGW build
52+
if: inputs.platform == 'windows' && inputs.windows-compiler == 'mingw'
53+
uses: egor-tensin/setup-mingw@v2
54+
with:
55+
version: ${{ inputs.mingw-version }}
56+
57+
- name: Setup SCons
58+
shell: bash
59+
run: |
60+
python -c "import sys; print(sys.version)"
61+
python -m pip install scons==${{ inputs.scons-version }}
62+
scons --version

.github/workflows/ci.yml

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -108,34 +108,11 @@ jobs:
108108
cache-name: ${{ matrix.cache-name }}
109109
continue-on-error: true
110110

111-
- name: Set up Python (for SCons)
112-
uses: actions/setup-python@v5
111+
- name: Setup godot-cpp
112+
uses: ./.github/actions/setup-godot-cpp
113113
with:
114-
python-version: 3.x
115-
116-
- name: Android dependencies
117-
if: matrix.platform == 'android'
118-
uses: nttld/setup-ndk@v1
119-
with:
120-
ndk-version: r23c
121-
link-to-sdk: true
122-
123-
- name: Web dependencies
124-
if: matrix.platform == 'web'
125-
uses: mymindstorm/setup-emsdk@v14
126-
with:
127-
version: ${{ env.EM_VERSION }}
128-
no-cache: true
129-
130-
- name: Setup MinGW for Windows/MinGW build
131-
if: matrix.platform == 'windows' && matrix.flags == 'use_mingw=yes'
132-
uses: egor-tensin/setup-mingw@v2
133-
with:
134-
version: 12.2.0
135-
136-
- name: Install scons
137-
run: |
138-
python -m pip install scons==4.0.0
114+
platform: ${{ matrix.platform }}
115+
windows-compiler: ${{ contains(matrix.flags, 'use_mingw=yes') && 'mingw' || 'msvc' }}
139116

140117
- name: Generate godot-cpp sources only
141118
run: |

0 commit comments

Comments
 (0)