Compare commits

..

2 Commits

Author SHA1 Message Date
Serhii Snitsaruk 234663b025
GHA: Dont cache Emscripten, add GCC problem matcher 2024-12-29 15:54:55 +01:00
Serhii Snitsaruk 07e046d49e
GHA: Package debug symbols for GDExtension editor libs 2024-12-29 15:16:34 +01:00
1 changed files with 17 additions and 33 deletions

View File

@ -15,7 +15,7 @@ on:
type: boolean type: boolean
default: false default: false
debug-symbols: debug-symbols:
description: Build with debug symbols description: All builds with debug symbols
type: boolean type: boolean
default: false default: false
@ -34,16 +34,15 @@ on:
type: boolean type: boolean
default: false default: false
debug-symbols: debug-symbols:
description: Build with debug symbols description: All builds with debug symbols
type: boolean type: boolean
default: false default: false
# Global Settings # Global Settings
env: env:
SCONS_CACHE_LIMIT: 4096 SCONS_CACHE_LIMIT: 4096
SCONSFLAGS: use_mingw=yes dev_build=no verbose=yes SCONSFLAGS: dev_build=no verbose=yes
EM_VERSION: 3.1.45 EM_VERSION: 3.1.45
EM_CACHE_FOLDER: "emsdk-cache"
GODOT_VERSION: 4.3-stable GODOT_VERSION: 4.3-stable
jobs: jobs:
@ -75,7 +74,7 @@ jobs:
should-build: true should-build: true
- name: 🪟 Windows (x86_64, release) - name: 🪟 Windows (x86_64, release)
runner: ubuntu-latest runner: windows-latest
platform: windows platform: windows
target: template_release target: template_release
arch: x86_64 arch: x86_64
@ -84,7 +83,7 @@ jobs:
should-build: true should-build: true
- name: 🪟 Windows (x86_64, debug) - name: 🪟 Windows (x86_64, debug)
runner: ubuntu-latest runner: windows-latest
platform: windows platform: windows
target: editor target: editor
arch: x86_64 arch: x86_64
@ -276,21 +275,14 @@ jobs:
python-version: "3.x" python-version: "3.x"
architecture: "x64" architecture: "x64"
- name: Set up Emscripten cache - name: Set up Emscripten (Web)
if: matrix.opts.platform == 'web'
uses: actions/cache@v4
with:
path: ${{env.EM_CACHE_FOLDER}}
key: ${{env.EM_VERSION}}-${{runner.os}}-libs
- name: Set up Emscripten
if: matrix.opts.platform == 'web' if: matrix.opts.platform == 'web'
uses: mymindstorm/setup-emsdk@v14 uses: mymindstorm/setup-emsdk@v14
with: with:
version: ${{env.EM_VERSION}} version: ${{env.EM_VERSION}}
actions-cache-folder: ${{env.EM_CACHE_FOLDER}} no-cache: true
- name: Verify Emscripten setup - name: Verify Emscripten setup (Web)
if: matrix.opts.platform == 'web' if: matrix.opts.platform == 'web'
run: | run: |
emcc -v emcc -v
@ -303,7 +295,7 @@ jobs:
python --version python --version
scons --version scons --version
- name: Set up Java 17 - name: Set up Java 17 (Android)
if: matrix.opts.platform == 'android' if: matrix.opts.platform == 'android'
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
@ -317,6 +309,14 @@ jobs:
ndk-version: r23c ndk-version: r23c
link-to-sdk: true link-to-sdk: true
- name: Set up MSVC problem matcher (Windows)
if: matrix.opts.platform == 'windows'
uses: ammaraskar/msvc-problem-matcher@1ebcb382869bfdc2cc645e8a2a43b6d319ea1cc0 # 0.3.0
- name: Set up GCC problem matcher (Linux)
if: matrix.opts.platform == 'linux'
uses: ammaraskar/gcc-problem-matcher@0f9c86f9e693db67dacf53986e1674de5f2e5f28 # 0.3.0
- name: Set up scons cache - name: Set up scons cache
if: inputs.test-build # ! Only cache test/PR builds if: inputs.test-build # ! Only cache test/PR builds
uses: actions/cache@v4 uses: actions/cache@v4
@ -328,12 +328,6 @@ jobs:
${{matrix.opts.bin}}-${{matrix.opts.debug-symbols}}-${{inputs.godot-cpp-ref}}-${{inputs.limboai-ref}} ${{matrix.opts.bin}}-${{matrix.opts.debug-symbols}}-${{inputs.godot-cpp-ref}}-${{inputs.limboai-ref}}
${{matrix.opts.bin}}-${{matrix.opts.debug-symbols}}-${{inputs.godot-cpp-ref}} ${{matrix.opts.bin}}-${{matrix.opts.debug-symbols}}-${{inputs.godot-cpp-ref}}
- name: Set up MinGW
if: matrix.opts.platform == 'windows'
run: |
sudo apt update
sudo apt install g++-mingw-w64-x86-64-posix
- name: Compilation - name: Compilation
shell: bash shell: bash
env: env:
@ -354,16 +348,6 @@ jobs:
readelf --debug-dump=links ${{matrix.opts.bin}} readelf --debug-dump=links ${{matrix.opts.bin}}
nm ${{matrix.opts.bin}} nm ${{matrix.opts.bin}}
- name: Split debug symbols (Windows)
if: matrix.opts.debug-symbols && matrix.opts.platform == 'windows'
shell: bash
run: |
cd demo/addons/limboai/bin/
x86_64-w64-mingw32-objcopy --only-keep-debug ${{matrix.opts.bin}} ${{matrix.opts.bin}}.debug
x86_64-w64-mingw32-objcopy --add-gnu-debuglink ${{matrix.opts.bin}}.debug ${{matrix.opts.bin}}
x86_64-w64-mingw32-strip --strip-debug ${{matrix.opts.bin}}
x86_64-w64-mingw32-nm ${{matrix.opts.bin}}
- name: Split debug symbols (macOS & iOS) - name: Split debug symbols (macOS & iOS)
if: matrix.opts.debug-symbols && (matrix.opts.platform == 'macos' || matrix.opts.platform == 'ios') if: matrix.opts.debug-symbols && (matrix.opts.platform == 'macos' || matrix.opts.platform == 'ios')
shell: bash shell: bash