Use GitHub workflow actions to generate AppImage
[geeqie.git] / .github / workflows / appimage.yml
1 name: Geeqie AppImage build
2 run-name: ${{ github.actor }} is running Geeqie AppImage build
3 on: [push, pull_request]
4 jobs:
5   Build-AppImage:
6     runs-on: ubuntu-22.04
7     steps:
8     - run: sudo apt-get update
9     - run: sudo apt-get install build-essential libgtk-3-dev libgtk-3-bin
10     - run: sudo apt-get install evince
11     - run: sudo apt-get install libarchive-dev
12     - run: sudo apt-get install libchamplain-0.12-dev libchamplain-gtk-0.12-dev
13     - run: sudo apt-get install libgexiv2-dev
14     - run: sudo apt-get install libgspell-1-dev
15     - run: sudo apt-get install libheif-dev
16     - run: sudo apt-get install liblua5.3-dev
17     - run: sudo apt-get install libpoppler-glib-dev
18     - run: sudo apt-get install libraw-dev libomp-dev
19     - run: sudo apt-get install webp-pixbuf-loader
20
21     - uses: actions/checkout@v3
22     - uses: actions/setup-python@v4
23     - uses: BSFishy/meson-build@v1.0.3
24       with:
25         action: test
26         directory: build
27         options: --verbose
28         meson-version: 0.56.2
29
30     - name: build
31       run: DESTDIR=/home/runner/work/geeqie/geeqie/AppDir ninja -C build install
32     - name: build AppImage
33       uses: AppImageCrafters/build-appimage-action@master
34       with:
35         recipe: AppImageBuilder.yml
36
37     - name: Create Release
38       uses: ncipollo/release-action@v1
39       with:
40          allowUpdates: true
41          tag: continuous
42          name: Continuous build
43          prerelease: true
44          artifacts: "Geeqie-latest-x86_64.AppImage"
45
46     - name: Upload logs
47       uses: actions/upload-artifact@v2
48       if: always()
49       with:
50         name: logs-all-build-appimage
51         path: /home/runner/work/geeqie/geeqie/build/meson-logs/*.txt
52         retention-days: 5