Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 74dcc84a | 2025-09-02 05:59:34 | build(deps): bump actions/upload-pages-artifact from 3 to 4 Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| c2b2b702 | 2025-09-02 05:53:23 | build(deps): bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| 135b3204 | 2025-08-16 12:59:20 | compose: Add fallback for custom locales Before this commit, loading a Compose file based on the locale would fail if the locale is not in the X11 Compose locale registry. While there are workarounds (e.g. `~/.XCompose` file or `$XCOMPOSEFILE`), it does not work if the corresponding file has `include "%L"`. This commit adds the fallback `en_US.UTF-8` in case the locale is installed but not registered in the X11 Compose locale registry. The choice is motivated by the fact that most locales use `en_US.UTF-8` anyway. Ideally we should have a mechanism to extend the Compose locale registry at the *system* level. Mechanisms at the user level (e.g. custom Compose file, environment variable) are deemed sufficient. We could still improve it by first trying to fallback to the locale without the country bits, but there is no function to do such function in the stdlib and we do not want to mess with locales manually. Unfortunately is not possible to test it in our test suite. One can still check it works following these instructions: 1. Create a custom locale, e.g. `en_XX.UTF-8`. `glibc-i18ndata` or similar package may be required to get the required files in `/usr/share/i18n/`. `sudo localedef -i en_US -f UTF-8 en_XX.UTF-8` 2. `xkbcli compile-compose --verbose --locale en_XX.UTF-8` | ||
| eb0a1457 | 2025-06-01 18:06:59 | build(deps): bump dawidd6/action-download-artifact from 9 to 10 Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 9 to 10. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/v9...v10) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-version: '10' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| 16ba1af0 | 2025-06-01 19:51:47 | ci: Fix xkeyboard-config install Since xkeyboard-config 2.45 uses a symlink for: /usr/share/pkgconfig/xkeyboard-config.pc /usr/share/X11/xkb but meson cannot overwrite < 2.45 which used a regular file and directory. Fixed by first removing the files. This is still a hack and we should use a proper package update. | ||
| 0f6ea465 | 2025-03-19 14:12:05 | ci: Enable merge modes tests | ||
| d1c279da | 2025-03-28 07:12:16 | ci: Run Linux test with a non-US locale Hopefully this will enable us to catch locale-related bugs. | ||
| 920b3d6c | 2025-03-26 11:43:02 | ci: Revert workaround unavailable gitlab.freedesktop.org This reverts commit 2b3ffb629231e4fc0c94107a2731c20130913c8f. | ||
| 2b3ffb62 | 2025-03-17 07:30:27 | ci: Workaround unavailable gitlab.freedesktop.org gitlab.freedesktop.org is currently migrated to a new infrastructure, so use a release tarball of xkeyboard-config instead of cloning its repo. NOTE: This commit should be reverted once the migration is completed. | ||
| 361b0b09 | 2025-03-01 15:46:45 | build(deps): bump dawidd6/action-download-artifact from 8 to 9 Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 8 to 9. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/v8...v9) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| 4b498b69 | 2025-02-05 09:59:21 | ci: fix link to NEWS file in releases Fixes 737706fe83f2 doc: Use towncrier to handle release notes | ||
| 63b488af | 2025-02-05 00:20:15 | ci: remove mention of tarball for github-release workflow We no longer publish tarballs. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 3e26bc43 | 2025-02-01 15:53:16 | build(deps): bump dawidd6/action-download-artifact from 7 to 8 Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 7 to 8. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/v7...v8) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| c12df477 | 2025-01-28 18:52:55 | tests: Reactivate the Python test suite for Linux | ||
| 454b18f5 | 2025-01-20 14:04:49 | ci: Enable sanitizers for Linux Since `asan` and `ubsan` overlap Valgrind, we run separate pipelines for each. Enable only for gcc for now, as we could not make it work with clang. | ||
| 593a1613 | 2024-12-15 16:30:20 | ci: upload only doxygen docs to pages We use the xkbcommon/website pages for the website, so here it's just for previewing and we only need to the docs, not the website. Fix #561. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 0ebdc4db | 2024-12-15 12:09:53 | ci: fix upload artifact conflict Doesn't like it when two jobs from the same run upload the same name. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| c79c6512 | 2024-12-15 09:58:39 | build(deps): bump actions/upload-artifact from 3 to 4 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| e4092d1f | 2024-12-15 09:53:41 | build(deps): bump actions/upload-pages-artifact from 1 to 3 Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 1 to 3. - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](https://github.com/actions/upload-pages-artifact/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| 8985cc31 | 2024-12-15 09:53:37 | build(deps): bump dawidd6/action-download-artifact from 6 to 7 Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 6 to 7. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/v6...v7) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| 16a346a1 | 2024-12-15 09:53:35 | build(deps): bump actions/configure-pages from 3 to 5 Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 3 to 5. - [Release notes](https://github.com/actions/configure-pages/releases) - [Commits](https://github.com/actions/configure-pages/compare/v3...v5) --- updated-dependencies: - dependency-name: actions/configure-pages dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| fda76884 | 2024-12-15 09:53:33 | build(deps): bump actions/deploy-pages from 2 to 4 Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 2 to 4. - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](https://github.com/actions/deploy-pages/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/deploy-pages dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| 807f11b7 | 2024-12-15 11:49:40 | Add dependabot configuration to keep github actions up to date Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| c085874e | 2024-11-25 15:45:14 | build(deps): bump dawidd6/action-download-artifact in /.github/workflows Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 2 to 6. - [Release notes](https://github.com/dawidd6/action-download-artifact/releases) - [Commits](https://github.com/dawidd6/action-download-artifact/compare/v2...v6) --- updated-dependencies: - dependency-name: dawidd6/action-download-artifact dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> | ||
| 7a8772ba | 2024-10-08 07:13:39 | ci: Fix macOS - Bump macOS image, as macOS 12 has been deprecated. See: https://github.com/actions/runner-images?tab=readme-ov-file#available-images - Install PyYaml via Pip, as it has been disabled in Brew. See: https://docs.brew.sh/Homebrew-and-Python#pep-668-python312-and-virtual-environments - Fix libxml2 not linked. | ||
| b5d3fa9e | 2024-07-12 10:36:33 | ci: Add ruff-format check - Add CI step - Fix errors | ||
| 0f6efc47 | 2024-03-13 15:58:18 | ci(macOS): enable X11 It requires to install `xkeyboardconfig` and `xorg-server`. XQuartz cask was tested but did not work. | ||
| 346d6871 | 2024-03-13 15:29:04 | ci(macOS): Use brew for all deps and remove doc deps Install meson and pyyaml via brew, as this the standard way on macOS. Remove Doxygen and Graphviz dependencies, as we do not build documentation by default anymore. Signed-off-by: Rui Chen <rui@chenrui.dev> | ||
| 7977880a | 2024-03-13 15:29:04 | ci: Bump action deps to use nodejs 20 runtime Signed-off-by: Rui Chen <rui@chenrui.dev> | ||
| 23d772af | 2024-03-13 15:29:04 | ci: Use Python 3.12 Signed-off-by: Rui Chen <rui@chenrui.dev> | ||
| c2780ea1 | 2024-03-13 11:03:55 | meson: disable doc builds by default The only docs we build is the doxygen API and I reckon there's a near-zero amount of users who actually want these built locally instead of just browsing the online doc. Let's not build this by default, dropping the requirement on doxygen and speeding up the build by quite a fair bit. | ||
| c88fe4b6 | 2023-12-07 12:21:53 | keysyms: Add tests with ICU Added tests of the simple case mappings when the ICU library is available. A warning is raised for missing mappings. Note: `xkb_keysym_is_upper` is interpreted as matching the disjunction of the Unicode character properties “Uppercase” or “Titlecase”. | ||
| 60735659 | 2023-10-08 23:55:38 | ci: fix url in github release text Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| cf228acd | 2023-09-18 13:17:30 | CI: Use git master for xkeyboard-config on Linux xkeyboard-config and xkbcommon projects are quite intertwined so we want things to blow up early. It also solves an issue with the x11comp test. | ||
| 0624d8ff | 2023-07-03 15:57:51 | Check the doxygen version Doxygen 1.9.7 breaks our urls, see issue #347. Let's put a check for the doxygen version into our CI build so that if our base distro updates beyond that, the CI fails and we know we have to build doxygen from scratch or update to some other version that's supported. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||
| 134c6bb2 | 2023-05-08 10:35:16 | Configure github pages Upload the doxygen output as artifact from the linux build and use that from the pages job where we combine the static website with our newly build HTML docs. The GitHub actions/download-artefact doesn't work across workflows so we use the other popular one that can do this. The rest of the job is basically copy/paste from the "Static HTML" example GitHub provides. To make this useful as drop-in replacement, replace the one fixed link to the API docs a relative one. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||
| 2c86216b | 2023-06-23 11:12:10 | CI: Fix documentation generation for macOS - Force Doxygen version 1.9.6, because 1.9.7 breaks our doc cool URIs, i.e. our system that maintain stable doc pages via redirection. Associated issue in Doxygen: https://github.com/doxygen/doxygen/issues/10146 - Install graphviz to build the .dot files. | ||
| 64aaa7cd | 2023-05-14 15:11:15 | Add support for stable doc URLs (#342) Doc URLs may change with time because they depend on Doxygen machinery. This is unfortunate because it is good practice to keep valid URLs (see: https://www.w3.org/Provider/Style/URI.html). I could not find a built-in solution in Doxygen, so the solution proposed here is to maintain a registry of all URLs and manage legacy URLs as redirections to their canonical page. This commit adds a registry of URLs that has three functions: - Check no previous URL is now invalid. - Add aliases for moved pages. - Generate redirection pages for aliases. The redirection works with a simple <meta http-equiv="refresh"> HTML tag. See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta#http-equiv This commit also initialize the URLs registry with current pages and some redirections needed after recent documentation refactoring. Finally, the CI is updated to catch any change that invalidate previous URLs. | ||
| c8efb704 | 2023-05-12 22:00:32 | ci: bump runs-on versions Mostly to bump to macos one which will hopefully fix CI issues there. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 45ba936b | 2023-05-05 10:57:32 | ci/windows: use the vs backend instead of ninja backend So we have some coverage of that. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 7428eb6e | 2022-12-16 21:36:13 | ci: don't run linux on push to non-master branches It's redundant with the pull request run. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| a005d06c | 2022-12-07 09:41:11 | CI: bump a few actions to newer versions Node 12 is deprecated so let's bump the actions to newer versions that use Node 16. See https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/ | ||
| b3095142 | 2022-07-15 13:01:52 | ci/linux: store the test logs as artifacts on failure This makes debugging a lot easier than having to reproduce locally. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||
| cc0e97e9 | 2022-07-15 13:07:26 | ci/linux: split normal testing from valgrind testing A test case failure usually also triggers valgrind leaks, sifting through those to find the actual test failure is painful. So let's separate the tests and run them separately. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||
| 3d56569a | 2022-03-20 13:50:12 | ci/linux: bring back `apt update` to fix `apt install` 404s Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 9e7f3ba4 | 2022-02-04 12:59:18 | ci: another possible fix for release workflow Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| be68829a | 2022-01-17 14:08:59 | CI: always run the linux workflow This makes it easier for contributors to check if their code runs correctly without having to file a PR. The Mac and Windows workflows are a bit more involved, so let's keep those on pull requests only. | ||
| 121cd377 | 2022-01-17 14:05:41 | CI: split and rename the workflows to windows/macos/linux "main" is a bit non-descriptive, let's name them after the platforms we run them on. Splitting them up allows us to be less selective on how we run the various workflows, e.g. always running the linux one. | ||
| ae3b010e | 2021-09-17 00:00:11 | ci: possible fix for release workflow Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 1318bedb | 2021-05-22 20:31:32 | ci: some tweaks - Reduce permissions - Update some stuff Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| c4fdcba3 | 2021-05-22 20:22:56 | ci: also link to tarball in github release Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 1f7ffde9 | 2021-05-22 20:17:35 | ci: automatically create github release when tag is pushed Fixes: https://github.com/xkbcommon/libxkbcommon/issues/233 Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| d9a22f29 | 2020-11-19 01:08:47 | ci: fix windows CI failure due to add-path deprecation Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| db985753 | 2020-09-07 11:54:55 | ci: enable xkbregistry on macos job Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 4b2a9143 | 2020-08-31 15:23:23 | ci: fix windows job not finding bison 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> | ||
| cd119a28 | 2020-07-23 09:37:15 | Drop use of ronn, switch to raw roff instead 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> | ||
| ed57fb8b | 2020-07-08 12:51:54 | tools: add a xkbcli tool as entry point for the various tools we have 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> | ||
| c3d42390 | 2020-07-23 09:04:10 | meson.build: add the valgrind test setup, exclude python tests 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> | ||
| f0b1441f | 2020-07-23 08:49:54 | test: make the symbols-leak-test executable 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> | ||
| fa300b24 | 2020-07-22 11:47:15 | test: fix Windows CI by rewriting symbols-leak-test from bash to python 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> | ||
| d4a17915 | 2020-07-22 12:02:44 | ci: cache chocolaty download 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> | ||
| afb26e7d | 2020-05-12 14:09:50 | Add libxkbregistry to query available RMLVO 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> | ||
| 8dfece0c | 2020-04-18 20:52:17 | ci: add github actions build 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> |