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