From a76c5f6a7bde960ff3881c7d3c6862acd16ea691 Mon Sep 17 00:00:00 2001 From: Hanh Date: Mon, 19 Dec 2022 16:55:54 +0800 Subject: [PATCH] AppImage build --- .github/workflows/build-appimage.yml | 63 ++++++++++++++++++++++++++++ misc/AppImageBuilder.yml | 34 +++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 .github/workflows/build-appimage.yml create mode 100644 misc/AppImageBuilder.yml diff --git a/.github/workflows/build-appimage.yml b/.github/workflows/build-appimage.yml new file mode 100644 index 0000000..dececb6 --- /dev/null +++ b/.github/workflows/build-appimage.yml @@ -0,0 +1,63 @@ +name: Build and Release AppImage / Linux + +on: + workflow_dispatch: + push: + tags: + - "v*" + +jobs: + build_appimage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + + - name: appimage tool + run: | + sudo apt-get update + sudo apt-get install -y binutils coreutils desktop-file-utils fakeroot fuse libgdk-pixbuf2.0-dev patchelf python3-pip python3-setuptools squashfs-tools strace util-linux zsync + 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 + sudo pip3 install appimage-builder + + - name: params + run: | + mkdir $HOME/.zcash-params + curl https://download.z.cash/downloads/sapling-output.params --output $HOME/.zcash-params/sapling-output.params + curl https://download.z.cash/downloads/sapling-spend.params --output $HOME/.zcash-params/sapling-spend.params + + - name: Build dylib + run: | + cargo install cargo-make + cargo make flatpak + + - name: wget flutter + run: | + curl https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.3.10-stable.tar.xz --output flutter.tar.xz + tar xf flutter.tar.xz + echo $PWD/flutter/bin >> $GITHUB_PATH + + - name: install deps + run: | + sudo apt-get install -y libunwind-dev + sudo apt-get install -y clang cmake ninja-build libgtk-3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev + + - name: Build flutter + run: | + flutter pub get + flutter pub run build_runner build + (cd packages/warp_api_ffi;flutter pub get;flutter pub run build_runner build) + flutter build linux + + - name: appimage + run: | + (cd misc;appimage-builder --recipe AppImageBuilder.yml;ls) + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/v') + with: + files: | + ./misc/Ywallet-latest-x86_64.AppImage diff --git a/misc/AppImageBuilder.yml b/misc/AppImageBuilder.yml new file mode 100644 index 0000000..bd63da7 --- /dev/null +++ b/misc/AppImageBuilder.yml @@ -0,0 +1,34 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 +script: + - rm -rf AppDir + - mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps + - cp ../assets/icon.png AppDir/usr/share/icons/hicolor/256x256/apps/ywallet.png + - cp -r ../build/linux/x64/release/bundle/* AppDir + - cp ../target/release/libwarp_api_ffi.so AppDir/lib +AppDir: + path: AppDir + app_info: + id: me.hanh.zwallet.Ywallet + name: Ywallet + icon: ywallet + version: latest + exec: ywallet + exec_args: $@ + apt: + arch: amd64 + sources: + - sourceline: deb [arch=amd64] http://ie.archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse + key_url: 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920D1991BC93C' + include: + - libgtk-3-0 + - libgstreamer1.0 libgstreamer-plugins-base1.0 + exclude: + - humanity-icon-theme + - hicolor-icon-theme + - adwaita-icon-theme + - ubuntu-mono +# - cp ../target/release/libwarp_api_ffi.so $APPDIR/lib +AppImage: + arch: x86_64 + update-information: guess