Skip to content

Commit 034eaf6

Browse files
committed
Add Linux AppImage to release builds
1 parent 5e938fa commit 034eaf6

1 file changed

Lines changed: 51 additions & 1 deletion

File tree

.github/workflows/build.yml

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,51 @@ jobs:
9898
popd
9999
- name: test rwe
100100
run: ./build/rwe_test
101+
- name: build AppImage
102+
if: matrix.cc == 'gcc-14' && matrix.configuration == 'Release'
103+
run: |
104+
# Install into AppDir layout
105+
mkdir -p AppDir/usr/bin AppDir/usr/share/rwe
106+
cp build/rwe build/rwe_bridge AppDir/usr/bin/
107+
cp -r shaders AppDir/usr/share/rwe/
108+
cp LICENSE README.md AppDir/usr/share/rwe/
109+
110+
# Create desktop entry
111+
mkdir -p AppDir/usr/share/applications
112+
cat > AppDir/usr/share/applications/rwe.desktop <<'DESKTOP'
113+
[Desktop Entry]
114+
Type=Application
115+
Name=Robot War Engine
116+
Exec=rwe
117+
Icon=rwe
118+
Categories=Game;StrategyGame;
119+
DESKTOP
120+
sed -i 's/^ //' AppDir/usr/share/applications/rwe.desktop
121+
122+
# Placeholder icon (required by linuxdeploy)
123+
mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps
124+
convert -size 256x256 xc:'#2a4a6b' -fill white -gravity center \
125+
-pointsize 72 -annotate 0 'RWE' \
126+
AppDir/usr/share/icons/hicolor/256x256/apps/rwe.png
127+
128+
# Download linuxdeploy
129+
wget -q https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
130+
chmod +x linuxdeploy-x86_64.AppImage
131+
132+
# Build AppImage
133+
VERSION=$(git describe --tags --always)
134+
export VERSION
135+
./linuxdeploy-x86_64.AppImage \
136+
--appdir AppDir \
137+
--desktop-file AppDir/usr/share/applications/rwe.desktop \
138+
--output appimage
139+
- name: upload AppImage artifact
140+
if: matrix.cc == 'gcc-14' && matrix.configuration == 'Release'
141+
uses: actions/upload-artifact@v6
142+
with:
143+
name: RWE AppImage
144+
path: Robot_War_Engine-*.AppImage
145+
if-no-files-found: error
101146
build-windows-msvc:
102147
strategy:
103148
matrix:
@@ -259,7 +304,7 @@ jobs:
259304
if-no-files-found: error
260305
release:
261306
if: startsWith(github.ref, 'refs/tags/v')
262-
needs: build-windows-msvc
307+
needs: [build-linux, build-windows-msvc]
263308
runs-on: ubuntu-24.04
264309
permissions:
265310
contents: write
@@ -274,6 +319,11 @@ jobs:
274319
with:
275320
name: RWE Installer Windows MSVC Release
276321
path: dist
322+
- name: download AppImage
323+
uses: actions/download-artifact@v4
324+
with:
325+
name: RWE AppImage
326+
path: dist
277327
- name: create release
278328
uses: softprops/action-gh-release@v2
279329
with:

0 commit comments

Comments
 (0)