python-version: '3.9'
- name: Install dependencies
run: |
- python -m pip install --upgrade meson
+ python -m pip install --upgrade meson PyYAML
sudo apt update
sudo apt install -y \
doxygen libxcb-xkb-dev valgrind ninja-build \
libwayland-dev wayland-protocols bison graphviz
+ - name: Install xkeyboard-config
+ run: |
+ # Install master version of xkeyboard-config, in order to ensure
+ # its latest version works well with xkbcommon.
+ # HACK: We use meson to install, while it would be cleaner
+ # to create a proper package to install or use some PPA.
+ pushd ~
+ git clone --depth=1 https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config.git
+ cd "xkeyboard-config"
+ BUILDDIR=build
+ meson setup $BUILDDIR -Dprefix=/usr
+ meson install -C $BUILDDIR
+ popd
- name: Setup
run: |
# -gdwarf-4 - see https://github.com/llvm/llvm-project/issues/56550.
- CFLAGS='-gdwarf-4' meson setup build
+ CFLAGS='-gdwarf-4' meson setup build -Denable-cool-uris=true
env:
CC: ${{ matrix.compiler }}
- name: Build
name: test logs
path: |
build/meson-logs/
+ - name: Ensure doxygen version is correct
+ run: |
+ doxygen --version > version.txt
+ echo "1.9.6" >> version.txt
+ if [ $(sort -V version.txt | tail -n1) != "1.9.6" ]; then
+ echo "Doxygen version 1.9.6 or earlier expected, see #347"
+ exit 1
+ fi
+ - name: Store doxygen docs for use by the pages workflow
+ uses: actions/upload-artifact@v3
+ if: success()
+ with:
+ name: doxygen-docs
+ path: |
+ build/html/