ci: split appimage steps for symbol creation

Apparently the AppDir process changes the olive-editor binary
enough to break the symbols. As such, they must be made after
creating the AppDir but before creating the AppImage.
This commit is contained in:
itsmattkc
2021-04-01 19:44:09 +11:00
parent cd96ccec70
commit 3f0707ad3d
+15 -12
View File
@@ -83,25 +83,28 @@ jobs:
# Create install tree
cmake --install app --prefix appdir/usr
# Process AppDir
/usr/local/linuxdeployqt-x86_64.AppImage \
appdir/usr/share/applications/org.olivevideoeditor.Olive.desktop \
-bundle-non-qt-libs \
-executable=appdir/usr/bin/crashpad_handler \
-executable=appdir/usr/bin/minidump_stackwalk \
-executable=appdir/usr/bin/olive-crashhandler \
--appimage-extract-and-run
# Dump Crashpad symbols
dump_syms app/olive-editor > olive-editor.sym
#SYM_HEADER=($(head -n 1 olive-editor.sym)) # Read first line of symbol file
#SYM_DIR=appdir/usr/share/olive-editor/symbols/olive-editor/${SYM_HEADER[3]}
dump_syms appdir/usr/bin/olive-editor > olive-editor.sym
# HACK: For some reason, minidump_stackwalk reads identifier as all 0s
SYM_DIR=appdir/usr/share/olive-editor/symbols/olive-editor/000000000000000000000000000000000
mkdir -p "$SYM_DIR"
mv olive-editor.sym "$SYM_DIR"
# Package AppImage
VERSION=${GITHUB_SHA::8}
export VERSION
/usr/local/linuxdeployqt-x86_64.AppImage \
appdir/usr/share/applications/org.olivevideoeditor.Olive.desktop \
-appimage \
-executable=appdir/usr/bin/crashpad_handler \
-executable=appdir/usr/bin/minidump_stackwalk \
-executable=appdir/usr/bin/olive-crashhandler \
--appimage-extract-and-run
$DOWNLOAD_TOOL https://github.com/AppImage/AppImageKit/releases/download/12/appimagetool-x86_64.AppImage
chmod_+x appimagetool-x86_64.AppImage
VERSION=${GITHUB_SHA::8} ./appimagetool-x86_64.AppImage appdir
# Set env variables
filename=$(echo Olive*.AppImage)
pkgname="${filename/x86_64/Linux-x86_64}"
mv "${filename}" "${pkgname}"