git workflow for Appimage generation

This commit is contained in:
Anthony Rabine 2023-08-10 16:59:27 -04:00
parent fc51756eb7
commit 2d24b135d1
6 changed files with 24 additions and 118 deletions

View file

@ -23,7 +23,7 @@ jobs:
pip install aqtinstall
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake libgl1-mesa-dev libpulse-dev libvulkan1 vulkan-tools vulkan-utils mesa-vulkan-drivers
sudo apt-get install build-essential cmake libgl1-mesa-dev libpulse-dev
sudo apt-get install libxcb-*
sudo apt-get install libxkb-*
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
@ -34,24 +34,25 @@ jobs:
- name: build
run: |
mkdir build && cd build
cmake ../story-editor -DCMAKE_BUILD_TYPE+=Release -DQt6_DIR=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/gcc_64/lib/cmake/Qt6
cmake ../story-editor -DCMAKE_BUILD_TYPE=Release -DQt6_DIR=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/gcc_64/lib/cmake/Qt6
make
- name: appimage
run: |
wget -O deploy.AppImage https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
chmod +x deploy.AppImage
mkdir appdir
cp story-editor appdir/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/lib/
./deploy.AppImage appdir/story-editor -no-translations -bundle-non-qt-libs -extra-plugins=platforms/,sqldrivers/
mkdir -p appdir/usr/share/open-story-teller/
cp *.qm appdir/usr/share/open-story-teller
wget -O tool.AppImage https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage
chmod +x tool.AppImage
./tool.AppImage appdir/
mkdir -p appdir/usr/bin
mkdir -p appdir/usr/lib
mkdir -p appdir/usr/share/applications
mkdir -p appdir/usr/share/icons/hicolor/512x512
cp story-editor appdir/usr/bin
cp ../story-editor.desktop appdir/usr/share/applications
cd appdir
../deploy.AppImage usr/share/applications/story-editor.desktop -qmake=${{ github.workspace }}/Qt/${{ env.QT_VERSION }}/gcc_64/bin/qmake -appimage -always-overwrite
- name: upload_artefact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: OpenJournalLinux
path: ./build/StoryEditorl-x86_64.AppImage
name: StoryEditorLinux
path: ./build/StoryEditor*.AppImage

1
.gitignore vendored
View file

@ -50,3 +50,4 @@ story-player/build/
story-editor/tools/build-audio-System_Qt5_15_8-Debug/
software/.vscode/.cortex-debug.peripherals.state.json
story-editor/build

BIN
art/hat-only-orange.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View file

@ -1,56 +0,0 @@
#!/bin/bash
EXECDIR=$(pwd)
SCRIPTDIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
pushd "$SCRIPTDIR/../../release"
BUILDDIR=$(pwd)
DESKTOP_ENTRY=$(cat <<-END
[Desktop Entry]
Type=Application
Name=Open Story Teller Editor
Comment=A tool to create stories with graphical nodes
Exec=story-editor
Icon=story-editor
Categories=Graphics;2DGraphics;
END
)
# echo "exec dir: $EXECDIR"
# echo "script dir: $SCRIPTDIR"
# echo "build dir: $BUILDDIR"
# start with clean directory
rm -rf *
# ====================================================================
# Build application
# ====================================================================
echo "Building Story Editor..."
mkdir -p build
cd build
cmake ../.. .
make
cd ..
# ====================================================================
# Create AppImage folder structure
# ====================================================================
mkdir -p usr/bin
mkdir -p usr/lib
mkdir -p usr/share/applications
mkdir -p usr/share/icons/hicolor/512x512
# ====================================================================
# Fill with files
# ====================================================================
mv build/story-editor usr/bin
rm -rf build
echo $DESKTOP_ENTRY > usr/share/story-editor.desktop
~/Applications/linuxdeployqt-continuous-x86_64.AppImage usr/share/applications/story-editor.desktop -appimage
popd

View file

@ -1,48 +0,0 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Open Story Teller Editor"
#define MyAppVersion "0.1"
#define MyAppPublisher "D8S Eurl"
#define MyAppURL "www.openstoryteller.org"
#define MyAppExeName "story-editor.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{7D7B5E11-A164-414E-AF4F-BCADA52A95F4}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=..\..\LICENSE
; Remove the following line to run in administrative install mode (install for all users.)
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
OutputBaseFilename=openstoryteller-editor
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "..\..\release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

View file

@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=StoryEditor
Comment=A tool to create stories with graphical nodes (OpenStoryTeller project)
Exec=story-editor
Icon=story-editor-logo
Categories=Graphics;2DGraphics;