Include xmllint checks
[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 libxml2-utils
32     - run: sudo apt-get install shellcheck
33     - uses: actions/checkout@v3
34     - uses: actions/setup-python@v4
35     - run: sudo apt-get install xvfb
36     - uses: BSFishy/meson-build@v1.0.3
37       with:
38         action: test
39         directory: build
40         setup-options: >
41           -Darchive=disabled
42           -Dcms=disabled
43           -Ddevel=disabled
44           -Ddjvu=disabled
45           -Ddoxygen=disabled
46           -Devince=disabled
47           -Dexecinfo=disabled
48           -Dexiv2=disabled
49           -Dgit=disabled
50           -Dgps-map=disabled
51           -Dgtk4=disabled
52           -Dheif=disabled
53           -Dj2k=disabled
54           -Djpeg=disabled
55           -Djpegxl=disabled
56           -Dlibraw=disabled
57           -Dlua=disabled
58           -Dpandoc=disabled
59           -Dpdf=disabled
60           -Dspell=disabled
61           -Dtiff=disabled
62           -Dvideothumbnailer=disabled
63           -Dwebp=disabled
64           -Dyelp-build=disabled
65         options: --verbose
66         meson-version: 1.0.0
67     - name: Upload logs
68       uses: actions/upload-artifact@v2
69       if: always()
70       with:
71         name: logs-all-no-options
72         path: ${{ github.workspace }}/build/meson-logs/*.txt
73         retention-days: 5
74
75   Check-Build-Most-Options:
76     runs-on: ubuntu-22.04
77     steps:
78     - run: sudo apt-get update
79     - run: sudo apt-get install appstream
80     - run: sudo apt-get install at-spi2-core
81     - run: sudo apt-get install build-essential libgtk-3-dev libgtk-3-bin
82     - run: sudo apt-get install clang-tidy
83     - run: sudo apt-get install desktop-file-utils
84     - run: sudo apt-get install evince
85     - run: sudo apt-get install gettext
86     - run: sudo apt-get install libarchive-dev
87     - run: sudo apt-get install libchamplain-0.12-dev libchamplain-gtk-0.12-dev
88     - run: sudo apt-get install libdw-dev
89     - run: sudo apt-get install libdwarf-dev
90     - run: sudo apt-get install libgexiv2-dev
91     - run: sudo apt-get install libgspell-1-dev
92     - run: sudo apt-get install libgtk-3-bin
93     - run: sudo apt-get install libheif-dev
94     - run: sudo apt-get install liblua5.3-dev
95     - run: sudo apt-get install libpoppler-glib-dev
96     - run: sudo apt-get install libraw-dev libomp-dev
97     - run: sudo apt-get install libunwind-dev
98     - run: sudo apt-get install libwebp-dev
99     - run: sudo apt-get install libwebp7
100     - run: sudo apt-get install libxml2-utils
101     - run: sudo apt-get install pandoc
102     - run: sudo apt-get install shellcheck
103     #~ - run: sudo apt-get install libffmpegthumbnailer-dev
104     #~ - run: sudo apt-get install libjxl-dev
105     #~ - run: sudo apt-get install yelp-tools
106     - uses: actions/checkout@v3
107       with:
108         fetch-depth: '0'
109     - uses: actions/setup-python@v4
110     - run: sudo apt-get install xvfb
111     - uses: BSFishy/meson-build@v1.0.3
112       with:
113         action: test
114         directory: build
115         setup-options: -Ddevel=enabled
116         options: --verbose
117         meson-version: 1.0.0
118     - name: Upload logs
119       uses: actions/upload-artifact@v2
120       if: always()
121       with:
122         name: logs-all-most-options
123         path: ${{ github.workspace }}/build/meson-logs/*.txt
124         retention-days: 5