From: Colin Clark Date: Wed, 16 Aug 2023 08:10:25 +0000 (+0100) Subject: Create minimal AppImage X-Git-Tag: v2.2~140 X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commitdiff_plain;h=27dfd93c45443a84a424fd0b313779dd3154fa5a Create minimal AppImage The standard Geeqie AppImage contains all features but is about 120MB, and therefore takes a noticeable time to load. The minimal version is about 10MB but is still capable of displayed a useful range of images. --- diff --git a/.github/workflows/appimage-minimal.yml b/.github/workflows/appimage-minimal.yml new file mode 100644 index 00000000..d15b940f --- /dev/null +++ b/.github/workflows/appimage-minimal.yml @@ -0,0 +1,43 @@ +name: Geeqie minimal AppImage build +run-name: ${{ github.actor }} is running Geeqie minimal AppImage build +on: [push] +jobs: + Build-AppImage: + runs-on: ubuntu-22.04 + steps: + - run: sudo apt-get update + - run: sudo apt-get install build-essential libgtk-3-dev libgtk-3-bin + + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + - uses: BSFishy/meson-build@v1.0.3 + with: + action: test + directory: build + setup-options: -Darchive=disabled -Dcms=disabled -Ddevel=disabled -Ddoxygen=disabled -Ddjvu=disabled -Devince=disabled -Dexecinfo=disabled -Dexiv2=disabled -Dgit=disabled -Dgps-map=disabled -Dheif=disabled -Dj2k=disabled -Djpeg=disabled -Djpegxl=disabled -Dlibraw=disabled -Dlua=disabled -Dpandoc=disabled -Dpdf=disabled -Dspell=disabled -Dtiff=disabled -Dvideothumbnailer=disabled -Dyelp-build=disabled + options: --verbose + meson-version: 0.56.2 + + - name: build + run: DESTDIR=/home/runner/work/geeqie/geeqie/AppDir ninja -C build install + - name: build AppImage + uses: AppImageCrafters/build-appimage-action@master + with: + recipe: AppImageBuilderMinimal.yml + + - name: Create Release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + tag: continuous + name: Continuous build + prerelease: true + artifacts: "Geeqie-minimal-latest-x86_64.AppImage" + + - name: Upload logs + uses: actions/upload-artifact@v2 + if: always() + with: + name: logs-all-build-appimage + path: /home/runner/work/geeqie/geeqie/build/meson-logs/*.txt + retention-days: 5 diff --git a/AppImageBuilderMinimal.yml b/AppImageBuilderMinimal.yml new file mode 100644 index 00000000..9cf1cfb6 --- /dev/null +++ b/AppImageBuilderMinimal.yml @@ -0,0 +1,38 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 + +script: + # Refer to https://github.com/AppImageCrafters/appimage-builder/issues/271 + - which mksquashfs || apt install squashfs-tools + +AppDir: + path: /home/runner/work/geeqie/geeqie/AppDir/ + app_info: + id: geeqie + name: Geeqie + icon: geeqie + version: minimal-latest + exec: usr/local/bin/geeqie + exec_args: $@ + apt: + arch: + - amd64 + allow_unauthenticated: true + sources: + - sourceline: deb http://im.archive.ubuntu.com/ubuntu/ jammy main restricted + - sourceline: deb http://im.archive.ubuntu.com/ubuntu/ jammy-updates main restricted + - sourceline: deb http://im.archive.ubuntu.com/ubuntu/ jammy universe + - sourceline: deb http://im.archive.ubuntu.com/ubuntu/ jammy-updates universe + include: + - libtiff5 + + files: + include: [] + exclude: + - usr/share/man + - usr/share/doc/*/README.* + - usr/share/doc/*/changelog.* + - usr/share/doc/*/NEWS.* + - usr/share/doc/*/TODO.* +AppImage: + arch: x86_64