diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2021-10-26 10:23:55 +1000 |
---|---|---|
committer | Sergey Udaltsov <sergey.udaltsov@gmail.com> | 2021-10-27 00:10:41 +0000 |
commit | 64cfdd56bead8d1021c9f526d2321ed0262c5685 (patch) | |
tree | 4ba1e24d509a4b5e115c9d128d1cf522b9ad0137 /.gitlab-ci.yml | |
parent | 61e71229654be138851292eca6bb8ff7a54473cd (diff) | |
download | xkeyboard-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.yml | 24 |
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 |