99 description : Git Ref (Optional)
1010 required : false
1111
12+ concurrency :
13+ group : ${{ github.workflow }}-${{ github.ref }}
14+ cancel-in-progress : true
15+
1216defaults :
1317 run :
1418 shell : bash
1519
1620jobs :
1721 flatpak :
18- name : " Flatpak"
22+ name : " Flatpak (x86_64) "
1923 runs-on : ubuntu-latest
2024 container :
2125 image : ghcr.io/flathub-infra/flatpak-github-actions:kde-6.10
@@ -48,33 +52,36 @@ jobs:
4852 name : ubuntu-24.04-arm
4953
5054 steps :
51- - name : Cancel Previous Runs
52- uses : styfle/cancel-workflow-action@0.8.0
53-
54- - name : Install dependencies
55+ - &deps
56+ name : Install dependencies
5557 run : |
5658 export DEBIAN_FRONTEND="noninteractive"
5759 apt-get update
5860 apt-get install -yqq --no-install-recommends --no-install-suggests \
5961 ca-certificates build-essential cmake ninja-build git \
60- curl zip unzip tar tzdata
62+ libicu-dev curl zip unzip tar tzdata
6163
62- - name : Install Qt6
64+ - &qt6
65+ name : Install Qt6
6366 uses : jurplel/install-qt-action@v4
6467 with :
6568 version : ' 6.10.1'
6669 install-deps : ' nosudo'
67- modules : ' qtmultimedia qtshadertools'
70+ modules : ' qtmultimedia qtshadertools qtwaylandcompositor '
6871
69- - name : Install vcpkg
72+ - &vcpkg
73+ name : Install vcpkg
7074 run : |
7175 git clone https://github.com/Microsoft/vcpkg.git ../vcpkg
7276
73- - name : Clone Repository
74- uses : actions/checkout@v2
77+ - &clone
78+ name : Clone Repository
79+ uses : actions/checkout@v6
7580 if : github.event.inputs.git-ref == ''
76- - name : Clone Repository (with custom ref)
77- uses : actions/checkout@v2
81+
82+ - &cloneref
83+ name : Clone Repository (with custom ref)
84+ uses : actions/checkout@v6
7885 if : github.event.inputs.git-ref != ''
7986 with :
8087 ref : ${{ github.event.inputs.git-ref }}
@@ -93,3 +100,64 @@ jobs:
93100 - name : Install
94101 run : |
95102 cmake --build --preset vcpkg-liblcf-release --target install
103+
104+ appimage :
105+ name : " AppImage (x86_64)"
106+ runs-on : ubuntu-latest
107+ container :
108+ image : ubuntu:24.04
109+ options : --privileged
110+
111+ steps :
112+ - *deps
113+
114+ - name : Install linuxdeploy dependencies
115+ run : |
116+ export DEBIAN_FRONTEND="noninteractive"
117+ apt-get install -yqq --no-install-recommends --no-install-suggests \
118+ file fuse
119+
120+ - *qt6
121+ - *vcpkg
122+ - *clone
123+ - *cloneref
124+
125+ - name : Download linuxdeploy
126+ run : |
127+ curl -LO https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
128+ chmod +x linuxdeploy-x86_64.AppImage
129+
130+ - name : Download linuxdeploy qt plugin
131+ run : |
132+ curl -LO https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
133+ chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
134+
135+ - name : Compile
136+ run : |
137+ export VCPKG_ROOT=$PWD/../vcpkg
138+ export Qt6_Path=$QT_ROOT_DIR
139+ cmake --preset vcpkg-liblcf-release -DCMAKE_INSTALL_PREFIX=AppDir \
140+ -DCMAKE_PREFIX_PATH=$QT_ROOT_DIR
141+ cmake --build --preset vcpkg-liblcf-release
142+
143+ - name : Install
144+ run : |
145+ cmake --build --preset vcpkg-liblcf-release --target install
146+
147+ - name : Build AppImage
148+ run : |
149+ export EXTRA_QT_PLUGINS=waylandcompositor
150+ export QML_SOURCES_PATHS="$PWD/src/ui"
151+ ./linuxdeploy-x86_64.AppImage \
152+ --appdir AppDir \
153+ --executable AppDir/bin/easyrpg-editor \
154+ --desktop-file AppDir/share/applications/easyrpg-editor.desktop \
155+ --icon-file AppDir/share/icons/hicolor/48x48/apps/easyrpg-editor.png \
156+ --output appimage \
157+ --plugin qt
158+
159+ - name : Upload AppImage artifact
160+ uses : actions/upload-artifact@v4
161+ with :
162+ name : EasyRPG-Editor-AppImage
163+ path : ./EasyRPG*.AppImage
0 commit comments