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