Skip to content

Commit 4a038b0

Browse files
committed
GitHub Workflow: Add AppImage
1 parent e18f41f commit 4a038b0

1 file changed

Lines changed: 81 additions & 13 deletions

File tree

.github/workflows/stable-compilation.yml

Lines changed: 81 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,17 @@ on:
99
description: Git Ref (Optional)
1010
required: false
1111

12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: true
15+
1216
defaults:
1317
run:
1418
shell: bash
1519

1620
jobs:
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

Comments
 (0)