From cd68180ddc2f0d8e0f857f539b89c794156103e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=99=E5=A8=87?=
Date: Sun, 25 Feb 2024 01:12:09 +0800
Subject: [PATCH] add appimage build
---
.github/workflows/main.yml | 4 +++-
github_appimage_build.sh | 15 +++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 github_appimage_build.sh
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index a4f62eb..786f236 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -16,13 +16,15 @@ jobs:
- name: Update dependencies
run: sudo apt-get update
- name: Install dependencies
- run: sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-0 libgtk-3-dev libblkid1 liblzma5
+ run: sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-0 libgtk-3-dev libblkid1 liblzma5 appimagetool
- name: Install project dependencies
run: flutter pub get
- name: Enable linux build
run: flutter config --enable-linux-desktop
- name: Build artifacts
run: flutter build linux --release
+ - name: Build Appimage
+ run: appimage_build.sh
- name: Linux Release
uses: actions/upload-artifact@v4
with:
diff --git a/github_appimage_build.sh b/github_appimage_build.sh
new file mode 100644
index 0000000..db63c08
--- /dev/null
+++ b/github_appimage_build.sh
@@ -0,0 +1,15 @@
+sudo apt install -y python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse
+
+# Install appimagetool AppImage
+sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
+sudo chmod +x /usr/local/bin/appimagetool
+
+flutter build linux --release
+cp -r ./build/linux/x64/release/bundle/ ./build/linux/x64/renamer.AppDir
+cp -r ./appimage/renamer.desktop ./build/linux/x64/renamer.AppDir
+cp -r ./assets/desktop.png ./build/linux/x64/renamer.AppDir
+cp -r ./appimage/AppRun ./build/linux/x64/renamer.AppDir
+chmod +x ./build/linux/x64/renamer.AppDir/AppRun
+appimagetool ./build/linux/x64/renamer.AppDir
+rm -rf ./build/linux/x64/renamer.AppDir
+cp Renamer-x86_64.AppImage ./build/linux/x64/release/bundle/