CI: Use git master for xkeyboard-config on Linux
[platform/upstream/libxkbcommon.git] / .github / workflows / linux.yml
index 5ba828f..bd1cfe6 100644 (file)
@@ -26,15 +26,28 @@ jobs:
           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
@@ -53,3 +66,18 @@ jobs:
           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/