AppImage build

This commit is contained in:
Hanh 2022-12-19 16:55:54 +08:00
parent 30b1e40d8c
commit a76c5f6a7b
2 changed files with 97 additions and 0 deletions

63
.github/workflows/build-appimage.yml vendored Normal file
View File

@ -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

34
misc/AppImageBuilder.yml Normal file
View File

@ -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