feat: support AppImage builds

- add CI builds for AppImage builds
- add AppImage metadata

Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
This commit is contained in:
TheOneWithTheBraid 2022-04-29 10:11:39 +02:00
parent 42267f263e
commit a223e0142f
5 changed files with 78 additions and 0 deletions

View File

@ -194,6 +194,46 @@ build_linux_arm64:
paths: paths:
- build/linux/arm64/release/bundle/ - build/linux/arm64/release/bundle/
build_linux_appimage_x86:
stage: deploy
image: appimagecrafters/appimage-builder
needs: [build_linux_x86]
only:
- main
- tags
script:
- cp -r build/linux/x64/release/bundle appimage/FluffyChat.AppDir
- cd appimage
- cp FluffyChat.desktop FluffyChat.AppDir/
- mkdir -p FluffyChat.AppDir/usr/share/icons
- cp ../assets/logo.png FluffyChat.AppDir/usr/share/icons/fluffychat.png
- appimagetool FluffyChat.AppDir
allow_failure: true
artifacts:
when: on_success
paths:
- appimage/FluffyChat-x86_64.AppImage
build_linux_appimage_arm64:
stage: deploy
image: appimagecrafters/appimage-builder
needs: [build_linux_arm64]
only:
- main
- tags
script:
- cp -r build/linux/arm64/release/bundle appimage/FluffyChat.AppDir
- cd appimage
- cp FluffyChat.desktop FluffyChat.AppDir/
- mkdir -p FluffyChat.AppDir/usr/share/icons
- cp assets/logo.png FluffyChat.AppDir/usr/share/icons/fluffychat.png
- appimagetool FluffyChat.AppDir
allow_failure: true
artifacts:
when: on_success
paths:
- appimage/FluffyChat-arm64.AppImage
update-dependencies: update-dependencies:
stage: coverage stage: coverage
needs: [] needs: []

2
appimage/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
FluffyChat.AppDir
*.AppImage

4
appimage/AppRun Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
cd "$(dirname "$0")"
exec ./fluffychat

View File

@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=FluffyChat
Comment=Matrix Client. Chat with your friends
Exec=AppRun
Icon=fluffychat
Terminal=false
Categories=Network;Chat;InstantMessaging;X-Matrix;

23
appimage/README.md Normal file
View File

@ -0,0 +1,23 @@
# FluffyChat AppImage
FluffyChat is provided as AppImage too. To Download, visit fluffychat.im.
## Building
- Ensure you install `appimagetool`
```shell
flutter build linux
# copy binaries to appimage dir
cp -r build/linux/{x64,arm64}/release/bundle appimage/FluffyChat.AppDir
cd appimage
# prepare AppImage files
cp FluffyChat.desktop FluffyChat.AppDir/
mkdir -p FluffyChat.AppDir/usr/share/icons
cp ../assets/logo.png FluffyChat.AppDir/usr/share/icons/fluffychat.png
# build the AppImage
appimagetool FluffyChat.AppDir
```