Skip to content

Commit 8a5af51

Browse files
committed
Run CI against both Godot stable/nightly versions; remove gcc memcheck
1 parent 2ea107f commit 8a5af51

File tree

2 files changed

+50
-30
lines changed

2 files changed

+50
-30
lines changed

.github/composite/godot-install/action.yml

+9-3
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,19 @@ runs:
3737
# shell: bash
3838

3939
- name: "Download Godot artifact"
40+
env:
41+
ARTIFACT_NAME: ${{ inputs.artifact-name }}
4042
# if: steps.cache-godot.outputs.cache-hit != 'true'
4143
# If a specific Godot revision should be used, rather than latest, use this:
4244
# curl https://nightly.link/Bromeon/godot4-nightly/actions/runs/4910907653/${{ inputs.artifact-name }}.zip \
4345
run: |
44-
curl https://nightly.link/Bromeon/godot4-nightly/workflows/compile-godot/master/${{ inputs.artifact-name }}.zip \
45-
-Lo artifact.zip \
46-
--retry 3
46+
if [[ $ARTIFACT_NAME == *"stable"* ]]; then
47+
url="https://nightly.link/Bromeon/godot4-nightly/workflows/compile-godot-stable/master/$ARTIFACT_NAME.zip"
48+
else
49+
url="https://nightly.link/Bromeon/godot4-nightly/workflows/compile-godot-nightly/master/$ARTIFACT_NAME.zip"
50+
fi
51+
52+
curl "$url" -Lo artifact.zip --retry 3
4753
unzip artifact.zip -d $RUNNER_DIR/godot_bin
4854
shell: bash
4955

.github/workflows/full-ci.yml

+41-27
Original file line numberDiff line numberDiff line change
@@ -123,47 +123,64 @@ jobs:
123123
strategy:
124124
fail-fast: false # cancel all jobs as soon as one fails?
125125
matrix:
126+
# Naming: {os}[-{runtimeVersion}]-{apiVersion}
127+
# runtimeVersion = version of Godot binary; apiVersion = version of GDExtension API against which gdext is compiled.
128+
126129
# Order this way because macOS typically has the longest duration, followed by Windows, so it benefits total workflow execution time.
127130
# Additionally, the 'linux (msrv *)' special case will then be listed next to the other 'linux' jobs.
128131
# Note: Windows uses '--target x86_64-pc-windows-msvc' by default as Cargo argument.
129132
include:
130133
# macOS
131134

135+
- name: macos-stableRt-4.0.3
136+
os: macos-12
137+
artifact-name: macos-stable
138+
godot-binary: godot.macos.editor.dev.x86_64
139+
godot-prebuilt-patch: '4.0.3'
140+
132141
- name: macos-4.0.3
133142
os: macos-12
134-
artifact-name: macos
143+
artifact-name: macos-nightly
135144
godot-binary: godot.macos.editor.dev.x86_64
136145
godot-prebuilt-patch: '4.0.3'
137146

138147
- name: macos-double
139148
os: macos-12
149+
artifact-name: macos-double-nightly
140150
godot-binary: godot.macos.editor.dev.double.x86_64
141151
rust-extra-args: --features godot/double-precision
142152

143153
- name: macos-nightly
144154
os: macos-12
145-
artifact-name: macos
155+
artifact-name: macos-nightly
146156
godot-binary: godot.macos.editor.dev.x86_64
147157
rust-extra-args: --features godot/custom-godot
148158
with-llvm: true
149159
godot-prebuilt-patch: '4.1'
150160

151161
# Windows
152162

163+
- name: windows-stableRt-4.0.3
164+
os: windows-latest
165+
artifact-name: windows-stable
166+
godot-binary: godot.windows.editor.dev.x86_64.exe
167+
godot-prebuilt-patch: '4.0.3'
168+
153169
- name: windows-4.0.3
154170
os: windows-latest
155-
artifact-name: windows
171+
artifact-name: windows-nightly
156172
godot-binary: godot.windows.editor.dev.x86_64.exe
157173
godot-prebuilt-patch: '4.0.3'
158174

159175
- name: windows-double
160176
os: windows-latest
177+
artifact-name: windows-double-nightly
161178
godot-binary: godot.windows.editor.dev.double.x86_64.exe
162179
rust-extra-args: --features godot/double-precision
163180

164181
- name: windows-nightly
165182
os: windows-latest
166-
artifact-name: windows
183+
artifact-name: windows-nightly
167184
godot-binary: godot.windows.editor.dev.x86_64.exe
168185
rust-extra-args: --features godot/custom-godot
169186
godot-prebuilt-patch: '4.1'
@@ -172,44 +189,50 @@ jobs:
172189

173190
# Don't use latest Ubuntu (22.04) as it breaks lots of ecosystem compatibility.
174191
# If ever moving to ubuntu-latest, need to manually install libtinfo5 for LLVM.
192+
- name: linux-stableRt-4.0.3
193+
os: ubuntu-20.04
194+
artifact-name: linux-stable
195+
godot-binary: godot.linuxbsd.editor.dev.x86_64
196+
175197
- name: linux-4.0.3
176198
os: ubuntu-20.04
177-
artifact-name: linux
199+
artifact-name: linux-nightly
178200
godot-binary: godot.linuxbsd.editor.dev.x86_64
179201
godot-check-header: false # disabled for now
180202

181203
- name: linux-4.0.2
182204
os: ubuntu-20.04
183-
artifact-name: linux
205+
artifact-name: linux-nightly
184206
godot-binary: godot.linuxbsd.editor.dev.x86_64
185207
godot-prebuilt-patch: '4.0.2'
186208

187209
- name: linux-4.0.1
188210
os: ubuntu-20.04
189-
artifact-name: linux
211+
artifact-name: linux-nightly
190212
godot-binary: godot.linuxbsd.editor.dev.x86_64
191213
godot-prebuilt-patch: '4.0.1'
192214

193215
- name: linux-4.0
194216
os: ubuntu-20.04
195-
artifact-name: linux
217+
artifact-name: linux-nightly
196218
godot-binary: godot.linuxbsd.editor.dev.x86_64
197219
godot-prebuilt-patch: '4.0'
198220

199221
- name: linux-double
200222
os: ubuntu-20.04
223+
artifact-name: linux-double-nightly
201224
godot-binary: godot.linuxbsd.editor.dev.double.x86_64
202225
rust-extra-args: --features godot/double-precision
203226

204227
- name: linux-features
205228
os: ubuntu-20.04
206-
artifact-name: linux
229+
artifact-name: linux-nightly
207230
godot-binary: godot.linuxbsd.editor.dev.x86_64
208231
rust-extra-args: --features godot/threads,godot/serde
209232

210233
- name: linux-nightly
211234
os: ubuntu-20.04
212-
artifact-name: linux
235+
artifact-name: linux-nightly
213236
godot-binary: godot.linuxbsd.editor.dev.x86_64
214237
rust-extra-args: --features godot/custom-godot
215238
godot-prebuilt-patch: '4.1'
@@ -220,35 +243,26 @@ jobs:
220243
# The gcc version can possibly be removed later, as it is slower and needs a larger artifact than the clang one.
221244

222245
# --disallow-focus: fail if #[itest(focus)] is encountered, to prevent running only a few tests for full CI
223-
- name: linux-memcheck-gcc-4.0.3
224-
os: ubuntu-20.04
225-
artifact-name: linux-memcheck-gcc
226-
godot-binary: godot.linuxbsd.editor.dev.x86_64.san
227-
godot-args: -- --disallow-focus
228-
rust-toolchain: nightly
229-
rust-env-rustflags: -Zrandomize-layout
230246

231-
- name: linux-memcheck-clang-4.0.3
247+
- name: linux-memcheck-stable-4.0.3
232248
os: ubuntu-20.04
233-
artifact-name: linux-memcheck-clang
249+
artifact-name: linux-memcheck-clang-nightly
234250
godot-binary: godot.linuxbsd.editor.dev.x86_64.llvm.san
235251
godot-args: -- --disallow-focus
236252
rust-toolchain: nightly
237253
rust-env-rustflags: -Zrandomize-layout
238254

239-
- name: linux-memcheck-gcc-nightly
255+
- name: linux-memcheck-4.0.3
240256
os: ubuntu-20.04
241-
artifact-name: linux-memcheck-gcc
242-
godot-binary: godot.linuxbsd.editor.dev.x86_64.san
257+
artifact-name: linux-memcheck-clang-stable
258+
godot-binary: godot.linuxbsd.editor.dev.x86_64.llvm.san
243259
godot-args: -- --disallow-focus
244260
rust-toolchain: nightly
245261
rust-env-rustflags: -Zrandomize-layout
246-
rust-extra-args: --features godot/custom-godot
247-
godot-prebuilt-patch: '4.1'
248262

249-
- name: linux-memcheck-clang-nightly
263+
- name: linux-memcheck-nightly
250264
os: ubuntu-20.04
251-
artifact-name: linux-memcheck-clang
265+
artifact-name: linux-memcheck-clang-nightly
252266
godot-binary: godot.linuxbsd.editor.dev.x86_64.llvm.san
253267
godot-args: -- --disallow-focus
254268
rust-toolchain: nightly
@@ -263,7 +277,7 @@ jobs:
263277
- name: "Run Godot integration test"
264278
uses: ./.github/composite/godot-itest
265279
with:
266-
artifact-name: godot-${{ matrix.artifact-name || matrix.name }}
280+
artifact-name: godot-${{ matrix.artifact-name }}
267281
godot-binary: ${{ matrix.godot-binary }}
268282
godot-args: ${{ matrix.godot-args }}
269283
godot-prebuilt-patch: ${{ matrix.godot-prebuilt-patch }}

0 commit comments

Comments
 (0)