summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2021-10-26 10:23:55 +1000
committerSergey Udaltsov <sergey.udaltsov@gmail.com>2021-10-27 00:10:41 +0000
commit64cfdd56bead8d1021c9f526d2321ed0262c5685 (patch)
tree4ba1e24d509a4b5e115c9d128d1cf522b9ad0137 /.gitlab-ci.yml
parent61e71229654be138851292eca6bb8ff7a54473cd (diff)
downloadxkeyboard-config-64cfdd56bead8d1021c9f526d2321ed0262c5685.tar.gz
gitlab CI: add a job to check for yaml-compatibility of evdev.xml
xkbcli list parses evdev.xml and spits out YAML, let's run this here so we can fix it before it hits users. https://github.com/xkbcommon/libxkbcommon/issues/267
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml24
1 files changed, 22 insertions, 2 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fe41d89..795316f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,7 +26,7 @@ variables:
# Changing the tag will rebuild the container images. The value is just a
# string, but we use the date for human benefits.
- FDO_DISTRIBUTION_TAG: '2021-05-20.0'
+ FDO_DISTRIBUTION_TAG: '2021-10-26.1'
stages:
@@ -46,7 +46,7 @@ container-prep:
# minimal set of packages required to build xkeyboard-config.
BASE_PACKAGES: 'xorg-util-macros autoconf automake make gettext pkg-config gcc grep m4 python meson ninja git'
# extra packages we need for various tests
- EXTRA_PACKAGES: 'tree libxml2 bison xorg-xkbcomp python-pytest python-libevdev python-yaml yq'
+ EXTRA_PACKAGES: 'tree libxml2 bison xorg-xkbcomp python-pytest python-libevdev python-yaml yq libxkbcommon'
FDO_DISTRIBUTION_PACKAGES: $BASE_PACKAGES $EXTRA_PACKAGES
@@ -209,6 +209,26 @@ xmllint:
script:
- xmllint --dtdvalid "$INSTDIR/share/X11/xkb/rules/xkb.dtd" $INSTDIR/share/X11/xkb/rules/*.xml > /dev/null
+
+# libxkbcommon's xkbcli list prints out YAML-like format, if yq cannot parse it, our
+# evdev.xml file is off
+xkbcli list check:
+ extends:
+ - .default_setup
+ dependencies: ['make_install']
+ needs: ['make_install']
+ stage: test
+ script:
+ - xkbcli list --skip-default-paths --load-exotic "$INSTDIR/share/X11/xkb" > rmlvo.yaml
+ - head -n20 rmlvo.yaml
+ - yq . rmlvo.yaml > /dev/null
+ artifacts:
+ when: on_failure
+ name: xbkcli list output
+ expire_in: 2 weeks
+ paths:
+ - rmlvo.yaml
+
# download libxkbcommon and run its layout test program. This will
# run a basic keymap compile test against every combination of
# layout/variant/option. Syntax errors will fail the test, check the