diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9ece42b2..4669f9f3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -194,6 +194,46 @@ build_linux_arm64: paths: - 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: stage: coverage needs: [] diff --git a/appimage/.gitignore b/appimage/.gitignore new file mode 100644 index 00000000..256f43d9 --- /dev/null +++ b/appimage/.gitignore @@ -0,0 +1,2 @@ +FluffyChat.AppDir +*.AppImage diff --git a/appimage/AppRun b/appimage/AppRun new file mode 100755 index 00000000..95b7c056 --- /dev/null +++ b/appimage/AppRun @@ -0,0 +1,4 @@ +#!/bin/sh + +cd "$(dirname "$0")" +exec ./fluffychat \ No newline at end of file diff --git a/appimage/FluffyChat.desktop b/appimage/FluffyChat.desktop new file mode 100644 index 00000000..ceee4c91 --- /dev/null +++ b/appimage/FluffyChat.desktop @@ -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; \ No newline at end of file diff --git a/appimage/README.md b/appimage/README.md new file mode 100644 index 00000000..e7139cc2 --- /dev/null +++ b/appimage/README.md @@ -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 +```