GHA: Ship GDExtension libs with debug symbols (WIP)

This commit is contained in:
Serhii Snitsaruk 2024-12-04 23:11:19 +01:00
parent 9cfdabca3f
commit 5776e3cfda
No known key found for this signature in database
GPG Key ID: A965EF8799FFEC2D
1 changed files with 26 additions and 5 deletions

View File

@ -41,7 +41,7 @@ on:
# Global Settings
env:
SCONS_CACHE_LIMIT: 4096
SCONSFLAGS: use_mingw=yes dev_build=no
SCONSFLAGS: use_mingw=yes dev_build=no debug_symbols=yes symbols_visibility=visible
EM_VERSION: 3.1.45
EM_CACHE_FOLDER: "emsdk-cache"
GODOT_VERSION: 4.3-stable
@ -280,10 +280,6 @@ jobs:
ndk-version: r23c
link-to-sdk: true
- name: Set up MSVC problem matcher on Windows
if: matrix.opts.platform == 'windows'
uses: ammaraskar/msvc-problem-matcher@master
- name: Set up scons cache
if: inputs.test-build # ! Only cache test/PR builds
uses: actions/cache@v4
@ -304,6 +300,31 @@ jobs:
PATH=${GITHUB_WORKSPACE}/buildroot/bin:$PATH
scons platform=${{matrix.opts.platform}} target=${{matrix.opts.target}} arch=${{matrix.opts.arch}} ${{env.DEBUG_FLAGS}} ${{matrix.opts.scons-flags}} ${{env.SCONSFLAGS}}
- name: Separate debug symbols on Linux & Windows
if: inputs.debug-symbols && (matrix.opts.platform == 'linux' || matrix.opts.platform == 'windows')
shell: bash
run: |
cd demo/addons/limboai/bin/
if [ "${{matrix.opts.platform}}" == "windows" ]; then
libname=${BIN}.dll
else
libname=${BIN}.so
fi
objcopy --only-keep-debug ${libname} ${libname}.debug
objcopy --add-gnu-debuglink ${libname}.debug ${libname}
strip --strip-debug ${libname}
readelf --debug-dump=links ${libname}
- name: Separate debug symbols on macOS
if: inputs.debug-symbols && matrix.opts.platform == 'macos'
shell: bash
run: |
cd demo/addons/limboai/bin/liblimboai.*.framework/
libname=liblimboai.${{matrix.opts.platform}}.${{matrix.opts.target}}
dsymutil ${libname}
strip -x ${libname}
nm ${libname}
- name: Prepare artifact
shell: bash
run: |