f403a2425980e6e15b2b0650e64795f8b6f6b276
[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 desktop-file-utils
80     - run: sudo apt-get install evince
81     - run: sudo apt-get install gettext
82     - run: sudo apt-get install libarchive-dev
83     - run: sudo apt-get install libchamplain-0.12-dev libchamplain-gtk-0.12-dev
84     - run: sudo apt-get install libdw-dev
85     - run: sudo apt-get install libdwarf-dev
86     - run: sudo apt-get install libgexiv2-dev
87     - run: sudo apt-get install libgspell-1-dev
88     - run: sudo apt-get install libgtk-3-bin
89     - run: sudo apt-get install libheif-dev
90     - run: sudo apt-get install liblua5.3-dev
91     - run: sudo apt-get install libpoppler-glib-dev
92     - run: sudo apt-get install libraw-dev libomp-dev
93     - run: sudo apt-get install libunwind-dev
94     - run: sudo apt-get install libwebp-dev
95     - run: sudo apt-get install libwebp7
96     - run: sudo apt-get install pandoc
97     - run: sudo apt-get install shellcheck
98     #~ - run: sudo apt-get install libffmpegthumbnailer-dev
99     #~ - run: sudo apt-get install libjxl-dev
100     #~ - run: sudo apt-get install yelp-tools
101     - uses: actions/checkout@v3
102     - uses: actions/setup-python@v4
103     - run: sudo apt-get install xvfb
104     - uses: BSFishy/meson-build@v1.0.3
105       with:
106         action: test
107         directory: build
108         setup-options: -Ddevel=enabled
109         options: --verbose
110         meson-version: 1.0.0
111     - name: Upload logs
112       uses: actions/upload-artifact@v2
113       if: always()
114       with:
115         name: logs-all-most-options
116         path: ${{ github.workspace }}/build/meson-logs/*.txt
117         retention-days: 5