From: Colin Clark Date: Tue, 15 Aug 2023 16:34:04 +0000 (+0100) Subject: Use GitHub workflow actions to generate AppImage X-Git-Tag: v2.2~143 X-Git-Url: http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commitdiff_plain;h=7e76d1116159e81a7e4007daead04f5658a6a8f3 Use GitHub workflow actions to generate AppImage --- diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml new file mode 100644 index 00000000..fcefe36f --- /dev/null +++ b/.github/workflows/appimage.yml @@ -0,0 +1,52 @@ +name: Geeqie AppImage build +run-name: ${{ github.actor }} is running Geeqie AppImage build +on: [push, pull_request] +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 + - run: sudo apt-get install evince + - run: sudo apt-get install libarchive-dev + - run: sudo apt-get install libchamplain-0.12-dev libchamplain-gtk-0.12-dev + - run: sudo apt-get install libgexiv2-dev + - run: sudo apt-get install libgspell-1-dev + - run: sudo apt-get install libheif-dev + - run: sudo apt-get install liblua5.3-dev + - run: sudo apt-get install libpoppler-glib-dev + - run: sudo apt-get install libraw-dev libomp-dev + - run: sudo apt-get install webp-pixbuf-loader + + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + - uses: BSFishy/meson-build@v1.0.3 + with: + action: test + directory: build + 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: AppImageBuilder.yml + + - name: Create Release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + tag: continuous + name: Continuous build + prerelease: true + artifacts: "Geeqie-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/AppImageBuilder.yml b/AppImageBuilder.yml new file mode 100644 index 00000000..c8838fcc --- /dev/null +++ b/AppImageBuilder.yml @@ -0,0 +1,52 @@ +# 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: 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: + - evince + - libarchive13 + - libchamplain-0.12 + - libchamplain-gtk-0.12-0 + - libdjvulibre21 + - libgexiv2-2 + - libgspell-1-2 + - libheif1 + - libjpeg8 + - liblcms2-2 + - liblua5.3-0 + - libopenjp2-7 + - libraw20 + - librsvg2-common + - 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