9 # Set permissions at the job level.
19 compiler: [clang, gcc]
21 - uses: actions/checkout@v3
23 persist-credentials: false
24 - uses: actions/setup-python@v4
27 - name: Install dependencies
29 python -m pip install --upgrade meson PyYAML
32 doxygen libxcb-xkb-dev valgrind ninja-build \
33 libwayland-dev wayland-protocols bison graphviz
36 # -gdwarf-4 - see https://github.com/llvm/llvm-project/issues/56550.
37 CFLAGS='-gdwarf-4' meson setup build -Denable-cool-uris=true
39 CC: ${{ matrix.compiler }}
42 meson compile -C build
45 meson test -C build --print-errorlogs --no-suite python-tests
46 - name: Test with valgrind
48 meson test -C build --print-errorlogs --setup=valgrind --no-suite python-tests
49 - name: Upload test logs
50 uses: actions/upload-artifact@v3
56 - name: Ensure doxygen version is correct
58 doxygen --version > version.txt
59 echo "1.9.6" >> version.txt
60 if [ $(sort -V version.txt | tail -n1) != "1.9.6" ]; then
61 echo "Doxygen version 1.9.6 or earlier expected, see #347"
64 - name: Store doxygen docs for use by the pages workflow
65 uses: actions/upload-artifact@v3