From 3f0707ad3d6ae1569bac78135b25f74b909872e1 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Thu, 1 Apr 2021 19:44:09 +1100 Subject: [PATCH] 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. --- .github/workflows/ci.yml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2cf05e5b9..de6dbd058 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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}"