Include appstreamcli in ancillary files check
[geeqie.git] / .github / workflows / check-build-actions.yml
1 name: Geeqie check build
2 run-name: ${{ github.actor }} is running Geeqie check build
3 on: [push, pull_request]
4 jobs:
5   Check-Markdown:
6     runs-on: ubuntu-22.04
7     steps:
8     - uses: actions/checkout@v2
9     - name: Run Markdown Lint
10       uses: actionshub/markdownlint@main
11
12   Check-Shellcheck:
13     runs-on: ubuntu-22.04
14     steps:
15     - uses: actions/checkout@v2
16     - name: Run Shellcheck Lint
17       uses: ludeeus/action-shellcheck@2.0.0
18       with:
19         ignore_names: downsize
20
21   Check-Build-No-Options:
22     runs-on: ubuntu-22.04
23     steps:
24     - run: sudo apt-get update
25     - run: sudo apt-get install appstream
26     - run: sudo apt-get install build-essential libgtk-3-dev libgtk-3-bin
27     - run: sudo apt-get install at-spi2-core
28     - run: sudo apt-get install desktop-file-utils
29     - run: sudo apt-get install gettext
30     - run: sudo apt-get install libgtk-3-bin
31     - run: sudo apt-get install shellcheck
32     - uses: actions/checkout@v3
33     - uses: actions/setup-python@v4
34     - run: sudo apt-get install xvfb
35     - uses: BSFishy/meson-build@v1.0.3
36       with:
37         action: test
38         directory: build
39         setup-options: >
40           -Darchive=disabled
41           -Dcms=disabled
42           -Ddevel=disabled
43           -Ddjvu=disabled
44           -Ddoxygen=disabled
45           -Devince=disabled
46           -Dexecinfo=disabled
47           -Dexiv2=disabled
48           -Dgit=disabled
49           -Dgps-map=disabled
50           -Dgtk4=disabled
51           -Dheif=disabled
52           -Dj2k=disabled
53           -Djpeg=disabled
54           -Djpegxl=disabled
55           -Dlibraw=disabled
56           -Dlua=disabled
57           -Dpandoc=disabled
58           -Dpdf=disabled
59           -Dspell=disabled
60           -Dtiff=disabled
61           -Dvideothumbnailer=disabled
62           -Dwebp=disabled
63           -Dyelp-build=disabled
64         options: --verbose
65         meson-version: 1.0.0
66     - name: Upload logs
67       uses: actions/upload-artifact@v2
68       if: always()
69       with:
70         name: logs-all-no-options
71         path: ${{ github.workspace }}/build/meson-logs/*.txt
72         retention-days: 5
73
74   Check-Build-Most-Options:
75     runs-on: ubuntu-22.04
76     steps:
77     - run: sudo apt-get update
78     - run: sudo apt-get install appstream
79     - run: sudo apt-get install at-spi2-core
80     - run: sudo apt-get install build-essential libgtk-3-dev libgtk-3-bin
81     - run: sudo apt-get install clang-tidy
82     - run: sudo apt-get install desktop-file-utils
83     - run: sudo apt-get install evince
84     - run: sudo apt-get install gettext
85     - run: sudo apt-get install libarchive-dev
86     - run: sudo apt-get install libchamplain-0.12-dev libchamplain-gtk-0.12-dev
87     - run: sudo apt-get install libdw-dev
88     - run: sudo apt-get install libdwarf-dev
89     - run: sudo apt-get install libgexiv2-dev
90     - run: sudo apt-get install libgspell-1-dev
91     - run: sudo apt-get install libgtk-3-bin
92     - run: sudo apt-get install libheif-dev
93     - run: sudo apt-get install liblua5.3-dev
94     - run: sudo apt-get install libpoppler-glib-dev
95     - run: sudo apt-get install libraw-dev libomp-dev
96     - run: sudo apt-get install libunwind-dev
97     - run: sudo apt-get install libwebp-dev
98     - run: sudo apt-get install libwebp7
99     - run: sudo apt-get install pandoc
100     - run: sudo apt-get install shellcheck
101     #~ - run: sudo apt-get install libffmpegthumbnailer-dev
102     #~ - run: sudo apt-get install libjxl-dev
103     #~ - run: sudo apt-get install yelp-tools
104     - uses: actions/checkout@v3
105       with:
106         fetch-depth: '0'
107     - uses: actions/setup-python@v4
108     - run: sudo apt-get install xvfb
109     - uses: BSFishy/meson-build@v1.0.3
110       with:
111         action: test
112         directory: build
113         setup-options: -Ddevel=enabled
114         options: --verbose
115         meson-version: 1.0.0
116     - name: Upload logs
117       uses: actions/upload-artifact@v2
118       if: always()
119       with:
120         name: logs-all-most-options
121         path: ${{ github.workspace }}/build/meson-logs/*.txt
122         retention-days: 5