summaryrefslogtreecommitdiff
path: root/.github
Commit message (Collapse)AuthorAgeFilesLines
* ci: fix windows CI failure due to add-path deprecationRan Benita2020-11-191-1/+1
| | | | Signed-off-by: Ran Benita <ran@unusedvar.com>
* ci: enable xkbregistry on macos jobRan Benita2020-09-071-2/+2
| | | | Signed-off-by: Ran Benita <ran@unusedvar.com>
* ci: fix windows job not finding bisonRan Benita2020-08-311-8/+6
| | | | | | | | Instead of using the unpredictable chocolatey let's just handle it ourselves. The versions are pinned but that's arguably good. Fixes https://github.com/xkbcommon/libxkbcommon/issues/179 Signed-off-by: Ran Benita <ran@unusedvar.com>
* Drop use of ronn, switch to raw roff insteadPeter Hutterer2020-07-251-5/+1
| | | | | | | | | | | | | Drop the ronn source files, check in the generated files instead. This gets rid of the ruby+gem+ronn toolchain requirement at the cost of having to edit raw man pages. ronn files are as-generated but with the preamble and generation date removed. The latter isn't important enough to keep, it'll just go stale for manually maintained files and it's not worth setting up a configure_file() just for that date. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* tools: add a xkbcli tool as entry point for the various tools we havePeter Hutterer2020-07-251-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This is the base tool, no subtools are currently connected so you only get help and version for now. The goal here is to have a git-like infrastructure where /usr/bin/xkbcli is the main tool, anything else will hide in libexec. The infrastructure for this is copied from libinput. Tools themselves will will be installed in $prefix/libexec/xkbcommon and the xkbcli tool forks off whatever argv[1] is after modifying the PATH to include the libexec dir. libinput has additional code for checking whether we're running this from the builddir but it's a bit iffy and it's usefulness is limited - if you're in the builddir anyway you can just run ./builddir/xkbcli-<toolname> directly. So for this code here, running ./builddir/xkbcli <toolname> will execute the one in the prefix/libexecdir. Since we want that tool available everywhere even where some of the subtools aren't present, we need to ifdef the getopt handling. man page generation is handled via ronn which is a ruby program but allows markdown for the sources. It's hidden behind a meson option to disable where downloading ronn isn't an option. The setup is generic enough that we can add other man-pages by just appending to the array. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* meson.build: add the valgrind test setup, exclude python testsPeter Hutterer2020-07-251-1/+1
| | | | | | | | | | | This way we can invoke the expected setup with meson test --setup=valgrind And because we don't care about valgrinding python script, mark that test as part of the "python-tests" suite and skip it during our CI valgrind run. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Ran Benita <ran@unusedvar.com>
* test: make the symbols-leak-test executablePeter Hutterer2020-07-251-1/+1
| | | | | | | | | | | | Python leaks like crazy when run under valgrind. But if we make the script executable **and** it has uses the env invocation (i.e. #!/usr/bin/env python3), the leaks disappear. This is not the case for a shebang of /usr/bin/python3. Why exactly this is the case I'm not sure but executables we plan to run should have the exec bit set. So this is a janitor patch with the nice side effect of fixing our valgrind runs. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* test: fix Windows CI by rewriting symbols-leak-test from bash to pythonRan Benita2020-07-221-1/+1
| | | | | | | | | | | | | | | | The CI started installing some wrapper instead of a real bash which is what gets found. See: https://github.com/actions/virtual-environments/pull/1081 Given meson is written in python, it should always be available hopefully. Disabled valgrind wrapper for now because it now also applies to the python interpreter which leaks like a sieve. Signed-off-by: Ran Benita <ran@unusedvar.com>
* ci: cache chocolaty downloadRan Benita2020-07-221-0/+7
| | | | | | | | | The bison sourceforge download is quite slow and unreliable. Hopefully this works. Stolen directly from ruby: https://github.com/ruby/ruby/blob/a50750c8a960ef62b3e1dbd78b12056f0512b17d/.github/workflows/windows.yml#L26 Signed-off-by: Ran Benita <ran@unusedvar.com>
* Add libxkbregistry to query available RMLVOPeter Hutterer2020-07-061-2/+2
| | | | | | | | | | | | | | | | | | | | | This library is the replacement for clients parsing evdev.xml directly. Instead, they should use the API here so that in the future we may even be able to swap evdev.xml for a more suitable data format. The library parses through evdev.xml (using libxml2) and - if requested - through evdev.extras.xml as well. The merge approach is optimised for the default case where we have a system-installed rules XML and another file in $XDG_CONFIG_DIR that adds a few entries. We load the system file first, then append any custom ones to that. It's not possible to overwrite the MLVO list provided by the system files - if you want to do that, get the change upstream. XML validation is handled through the DTD itself which means we only need to check for a nonempty name, everything else the DTD validation should complain about. The logging system is effectively identical to xkbcommon. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* ci: add github actions buildRan Benita2020-04-181-0/+89
We currently use Azure Pipelines. But it became out of date. Also it requires a different account and setup than github account itself. The configuration here is probably not very good and is less featureful than the Azure one but it's what I managed. Signed-off-by: Ran Benita <ran@unusedvar.com>