From 5b030303a65612c6158f0b09f2854bb12b7970e8 Mon Sep 17 00:00:00 2001 From: "Lucas.Xu" Date: Thu, 1 Feb 2024 19:58:58 +0700 Subject: [PATCH] fix: appimage build (#4578) * chore: force exec flutter package pub get * feat: support building appimage on github ci --- .github/workflows/release.yml | 23 ++++++++++++++++--- .../flowy_icons/generate_flowy_icons.sh | 5 ++-- .../language_files/generate_language_files.sh | 5 ++-- .../appimage/AppImageBuilder.yml | 3 +++ .../appimage/build_appimage.sh | 2 +- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dec0361e06..c82b9f23ac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -327,6 +327,8 @@ jobs: LINUX_PACKAGE_DEB_NAME: AppFlowy-${{ github.ref_name }}-linux-x86_64.deb LINUX_PACKAGE_RPM_NAME: AppFlowy-${{ github.ref_name }}-linux-x86_64.rpm LINUX_PACKAGE_TMP_RPM_NAME: AppFlowy-${{ github.ref_name }}-2.x86_64.rpm + LINUX_PACKAGE_TMP_APPIMAGE_NAME: AppFlowy-${{ github.ref_name }}-x86_64.AppImage + LINUX_PACKAGE_APPIMAGE_NAME: AppFlowy-${{ github.ref_name }}-linux-x86_64.AppImage strategy: fail-fast: false @@ -395,11 +397,15 @@ jobs: - name: Build Linux package (.rpm) working-directory: ${{ env.LINUX_APP_RELEASE_PATH }} run: | - ls -a sudo alien -r ${{ env.LINUX_PACKAGE_DEB_NAME }} - echo '------------' cp -r ${{ env.LINUX_PACKAGE_TMP_RPM_NAME }} ${{ env.LINUX_PACKAGE_RPM_NAME }} - ls -a + + - name: Build Linux package (.AppImage) + working-directory: frontend + continue-on-error: true + run: | + sh scripts/linux_distribution/appimage/build_appimage.sh ${{ github.ref_name }} + cp -r ${{ env.LINUX_PACKAGE_TMP_APPIMAGE_NAME }} ${{ env.LINUX_PACKAGE_APPIMAGE_NAME }} - name: Upload Asset id: upload-release-asset @@ -434,6 +440,17 @@ jobs: asset_name: ${{ env.LINUX_PACKAGE_RPM_NAME }} asset_content_type: application/octet-stream + - name: Upload AppImage package + id: upload-release-asset-install-package-appimage + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.create-release.outputs.upload_url }} + asset_path: ${{ env.LINUX_APP_RELEASE_PATH }}/${{ env.LINUX_PACKAGE_APPIMAGE_NAME }} + asset_name: ${{ env.LINUX_PACKAGE_APPIMAGE_NAME }} + asset_content_type: application/octet-stream + build-for-docker: runs-on: ubuntu-latest steps: diff --git a/frontend/scripts/code_generation/flowy_icons/generate_flowy_icons.sh b/frontend/scripts/code_generation/flowy_icons/generate_flowy_icons.sh index f969e49f44..f20f1b72c3 100755 --- a/frontend/scripts/code_generation/flowy_icons/generate_flowy_icons.sh +++ b/frontend/scripts/code_generation/flowy_icons/generate_flowy_icons.sh @@ -22,9 +22,8 @@ rm -rf assets/flowy_icons/ mkdir -p assets/flowy_icons/ rsync -r ../resources/flowy_icons/ assets/flowy_icons/ -if [ "$no_pub_get" = false ]; then - flutter packages pub get -fi +flutter pub get +flutter packages pub get echo "Generating FlowySvg classes" dart run flowy_svg diff --git a/frontend/scripts/code_generation/language_files/generate_language_files.sh b/frontend/scripts/code_generation/language_files/generate_language_files.sh index 03bf7a906a..41abe4217a 100755 --- a/frontend/scripts/code_generation/language_files/generate_language_files.sh +++ b/frontend/scripts/code_generation/language_files/generate_language_files.sh @@ -24,9 +24,8 @@ rm -rf assets/translations/ mkdir -p assets/translations/ cp -f ../resources/translations/*.json assets/translations/ -if [ "$no_pub_get" = false ]; then - flutter packages pub get -fi +flutter pub get +flutter packages pub get echo "Specifying source directory for AppFlowy Localizations." dart run easy_localization:generate -S assets/translations/ diff --git a/frontend/scripts/linux_distribution/appimage/AppImageBuilder.yml b/frontend/scripts/linux_distribution/appimage/AppImageBuilder.yml index cb32d94798..c205814401 100644 --- a/frontend/scripts/linux_distribution/appimage/AppImageBuilder.yml +++ b/frontend/scripts/linux_distribution/appimage/AppImageBuilder.yml @@ -49,6 +49,9 @@ AppDir: - libc6:amd64 - libnotify4:amd64 - libkeybinder-3.0-0:amd64 + - libwayland-cursor0:amd64 + - libwayland-client0:amd64 + - libwayland-egl1:amd64 files: include: [] exclude: diff --git a/frontend/scripts/linux_distribution/appimage/build_appimage.sh b/frontend/scripts/linux_distribution/appimage/build_appimage.sh index 3132aa8030..a7e4d1b11b 100644 --- a/frontend/scripts/linux_distribution/appimage/build_appimage.sh +++ b/frontend/scripts/linux_distribution/appimage/build_appimage.sh @@ -15,4 +15,4 @@ fi # update version grep -rl "\[CHANGE_THIS\]" scripts/linux_distribution/appimage/AppImageBuilder.yml | xargs sed -i "s/\[CHANGE_THIS\]/$VERSION/" -appimage-builder --recipe scripts/linux_distribution/appimage/AppImageBuilder.yml +appimage-builder --recipe scripts/linux_distribution/appimage/AppImageBuilder.yml --skip-tests