From 65c51d7926d24d6ecb019e306a5d11d566f04cca Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Fri, 16 May 2025 20:31:38 +0200 Subject: [PATCH 1/7] maint(linux): fix release build The old build config on TC did only run the tests for `keyman-config`. #13754 missed that fact, and so this script it previously did run all Linux tests. The integration tests failed because they were missing the necessary setup. This change runs all Linux tests without the integration tests. Follow-up-of: #13754 Test-bot: skip --- resources/teamcity/keyman-linux-release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/teamcity/keyman-linux-release.sh b/resources/teamcity/keyman-linux-release.sh index d50cb75cdb..138c273eba 100755 --- a/resources/teamcity/keyman-linux-release.sh +++ b/resources/teamcity/keyman-linux-release.sh @@ -169,7 +169,7 @@ if builder_has_action all; then set_variables_for_nvm linux_build_action - linux_unit_tests_action + linux_unit_tests_action --no-integration publish_action else builder_run_action configure linux_install_dependencies_action @@ -177,6 +177,6 @@ else set_variables_for_nvm builder_run_action build linux_build_action - builder_run_action test linux_unit_tests_action + builder_run_action test linux_unit_tests_action --no-integration builder_run_action publish publish_action fi From 8e4e92067d27ca33ed0106e04c1c4760b1660331 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Mon, 19 May 2025 09:34:34 +0200 Subject: [PATCH 2/7] fix(linux): configurable path in `.service` file when using basu This makes the path in `com.keyman.SystemService1.service` configurable when using basu (e.g. Gentoo Linux). --- .../com.keyman.SystemService1.service.basu | 2 +- .../resources/meson.build.in | 19 +++++++++++++++++-- ...yman.service => systemd-keyman.service.in} | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) rename linux/keyman-system-service/resources/{systemd-keyman.service => systemd-keyman.service.in} (95%) diff --git a/linux/keyman-system-service/resources/com.keyman.SystemService1.service.basu b/linux/keyman-system-service/resources/com.keyman.SystemService1.service.basu index 67dd16eb5a..357743bbfb 100644 --- a/linux/keyman-system-service/resources/com.keyman.SystemService1.service.basu +++ b/linux/keyman-system-service/resources/com.keyman.SystemService1.service.basu @@ -3,5 +3,5 @@ [D-BUS Service] Name=com.keyman.SystemService1 -Exec=/usr/libexec/systemd-keyman.service +Exec=@LIBEXECDIR@/systemd-keyman.service User=root diff --git a/linux/keyman-system-service/resources/meson.build.in b/linux/keyman-system-service/resources/meson.build.in index 3ddafdaaf3..5003e2e4b3 100644 --- a/linux/keyman-system-service/resources/meson.build.in +++ b/linux/keyman-system-service/resources/meson.build.in @@ -1,11 +1,26 @@ # This file will be appended to meson.build by build.sh +cfg = configuration_data() +cfg.set('LIBEXECDIR', get_option('prefix') / get_option('libexecdir')) + install_data('com.keyman.SystemService1.conf', install_dir: get_option('datadir') / 'dbus-1/system.d/') if systemd.name() == 'libsystemd' install_data('com.keyman.SystemService1.service.systemd', install_dir: get_option('datadir') / 'dbus-1/system-services/', rename: ['com.keyman.SystemService1.service']) else # libelogind or basu - install_data('com.keyman.SystemService1.service.basu', install_dir: get_option('datadir') / 'dbus-1/system-services/') + configure_file( + configuration: cfg, + input: 'com.keyman.SystemService1.service.basu', + output: 'com.keyman.SystemService1.service', + install: true, + install_dir: get_option('datadir') / 'dbus-1/system-services/' + ) endif -install_data('systemd-keyman.service', install_dir: get_option('prefix') / 'lib/systemd/system/') +configure_file( + configuration: cfg, + input: 'systemd-keyman.service.in', + output: 'systemd-keyman.service', + install: true, + install_dir: get_option('prefix') / 'lib/systemd/system/' +) diff --git a/linux/keyman-system-service/resources/systemd-keyman.service b/linux/keyman-system-service/resources/systemd-keyman.service.in similarity index 95% rename from linux/keyman-system-service/resources/systemd-keyman.service rename to linux/keyman-system-service/resources/systemd-keyman.service.in index a0e76f549f..aad8d66f6e 100644 --- a/linux/keyman-system-service/resources/systemd-keyman.service +++ b/linux/keyman-system-service/resources/systemd-keyman.service.in @@ -9,7 +9,7 @@ Documentation=https://github.com/keymanapp/keyman/tree/master/linux/keyman-syste [Service] Type=dbus BusName=com.keyman.SystemService1 -ExecStart=/usr/libexec/keyman-system-service +ExecStart=@LIBEXECDIR@/keyman-system-service Restart=on-failure # Filesystem lockdown From dff23f0b028c19e287329e530f8376954e2c8565 Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Mon, 19 May 2025 14:02:38 -0400 Subject: [PATCH 3/7] auto: increment master version to 19.0.42 --- HISTORY.md | 11 +++++++++++ VERSION.md | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index d28e839223..0a64a9405f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,16 @@ # Keyman Version History +## 19.0.41 alpha 2025-05-19 + +* fix(web): inspectable test-script mode should not be auto-enabled in local-env tests (#13895) +* maint(common): evaluate and apply npm audit fix (without forced changes) (#13897) +* maint: update mocha (#13899) +* maint: update @actions/github + @octokit references (#13900) +* maint(common): update fast-json-patch to ^3.1.1 (#13901) +* change(web): cancel flicks when both returning to and releasing at original tap location (#13683) +* fix(web): empty layout fontSize property should default to 1em (#13959) +* maint(linux): fix release build to run all tests except integration tests (#13968) + ## 19.0.40 alpha 2025-05-17 * maint(common): Add zip.inc.sh for cross-platform zipping (#13812) diff --git a/VERSION.md b/VERSION.md index b74da15626..ea680d35d4 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.41 \ No newline at end of file +19.0.42 \ No newline at end of file From ee93d0d27a0c217e6a193a1125f0d0e0e42315b9 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Tue, 20 May 2025 09:00:52 +0200 Subject: [PATCH 4/7] maint(linux): add `--no-werror` option to not report warnings as errors By default we add the `--werror` option to meson builds. This might cause problems when compiling with a different compiler, so this option adds the `--no-werror` option to our build scripts. This enables integrators to compile with other compiler versions. Fixes: #13970 Test-bot: skip --- core/build.sh | 8 +++++++- core/commands.inc.sh | 2 +- linux/build.sh | 3 ++- linux/ibus-keyman/build.sh | 10 ++++++++-- linux/keyman-system-service/build.sh | 10 ++++++++-- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/core/build.sh b/core/build.sh index 291bb750b8..94e8ae4e38 100755 --- a/core/build.sh +++ b/core/build.sh @@ -69,7 +69,8 @@ Libraries will be built in 'build///src'. "uninstall uninstall libraries from current system" \ "${archtargets[@]}" \ "--no-tests do not configure tests (used by other projects)" \ - "--test,-t=opt_tests test[s] to run (space separated)" + "--test,-t=opt_tests test[s] to run (space separated)" \ + "--no-werror don't report warnings as errors" builder_parse "$@" @@ -115,6 +116,11 @@ builder_describe_outputs \ build:arch /core/build/arch/$BUILDER_CONFIGURATION/src/libkeymancore.a \ build:wasm /core/build/wasm/$BUILDER_CONFIGURATION/src/libkeymancore.a +MESON_ARGS=--werror +if builder_has_option --no-werror; then + MESON_ARGS= +fi + if builder_has_action configure; then # Import our standard compiler defines source "$KEYMAN_ROOT/resources/build/meson/standard_meson_build.inc.sh" diff --git a/core/commands.inc.sh b/core/commands.inc.sh index f2c49d88ca..761be3db4d 100644 --- a/core/commands.inc.sh +++ b/core/commands.inc.sh @@ -55,7 +55,7 @@ do_configure() { else pushd "$THIS_SCRIPT_PATH" > /dev/null # Additional arguments are used by Linux build, e.g. -Dprefix=${INSTALLDIR} - meson setup "$MESON_PATH" $MESON_CROSS_FILE --werror --buildtype $BUILDER_CONFIGURATION $STANDARD_MESON_ARGS "${builder_extra_params[@]}" + meson setup "$MESON_PATH" $MESON_CROSS_FILE ${MESON_ARGS} --buildtype $BUILDER_CONFIGURATION $STANDARD_MESON_ARGS "${builder_extra_params[@]}" popd > /dev/null fi diff --git a/linux/build.sh b/linux/build.sh index 1e4b281b72..ae5e5d3bd4 100755 --- a/linux/build.sh +++ b/linux/build.sh @@ -27,7 +27,8 @@ builder_describe \ "--no-integration+ don't run integration tests" \ "--coverage+ capture test coverage" \ "--report+ create coverage report" \ - "--open open the coverage reports in the browser" + "--open open the coverage reports in the browser" \ + "--no-werror+ don't report warnings as errors" builder_parse "$@" diff --git a/linux/ibus-keyman/build.sh b/linux/ibus-keyman/build.sh index d21c52c2ae..b3ec6be21a 100755 --- a/linux/ibus-keyman/build.sh +++ b/linux/ibus-keyman/build.sh @@ -21,7 +21,8 @@ builder_describe \ "@../keyman-system-service:service" \ "--no-integration don't run integration tests" \ "--report create coverage report" \ - "--coverage capture test coverage" + "--coverage capture test coverage" \ + "--no-werror don't report warnings as errors" builder_parse "$@" @@ -45,6 +46,11 @@ else MESON_COVERAGE= fi +MESON_ARGS=--werror +if builder_has_option --no-werror; then + MESON_ARGS= +fi + if builder_has_action configure; then # Import our standard compiler defines source "$KEYMAN_ROOT/resources/build/meson/standard_meson_build.inc.sh" @@ -53,7 +59,7 @@ fi configure_action() { # shellcheck disable=SC2086,SC2154 - meson setup ${MESON_COVERAGE} --werror --buildtype $MESON_TARGET "${builder_extra_params[@]}" "$MESON_PATH" + meson setup ${MESON_COVERAGE} ${MESON_ARGS} --buildtype $MESON_TARGET "${builder_extra_params[@]}" "$MESON_PATH" } test_action() { diff --git a/linux/keyman-system-service/build.sh b/linux/keyman-system-service/build.sh index cb66486f01..c673907882 100755 --- a/linux/keyman-system-service/build.sh +++ b/linux/keyman-system-service/build.sh @@ -19,7 +19,8 @@ builder_describe \ "uninstall uninstall artifacts" \ "--no-integration don't run integration tests" \ "--report create coverage report" \ - "--coverage capture test coverage" + "--coverage capture test coverage" \ + "--no-werror don't report warnings as errors" builder_parse "$@" @@ -42,6 +43,11 @@ else fi MESON_PATH="build/$(uname -m)/$MESON_TARGET" +MESON_ARGS=--werror +if builder_has_option --no-werror; then + MESON_ARGS= +fi + clean_action() { rm -rf "$THIS_SCRIPT_PATH/build/" } @@ -61,7 +67,7 @@ check_missing_coverage_configuration() { configure_action() { # shellcheck disable=SC2086,SC2154,SC2248 - meson setup ${MESON_COVERAGE} --werror --buildtype ${MESON_TARGET} "${builder_extra_params[@]}" "${MESON_PATH}" + meson setup ${MESON_COVERAGE} ${MESON_ARGS} --buildtype ${MESON_TARGET} "${builder_extra_params[@]}" "${MESON_PATH}" } test_action() { From 32ae99ad792c53b917f4a8aeb7532d77064bb352 Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Tue, 20 May 2025 04:56:12 -0400 Subject: [PATCH 5/7] auto: increment master version to 19.0.43 --- HISTORY.md | 4 ++++ VERSION.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 0a64a9405f..0fb293348b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 19.0.42 alpha 2025-05-20 + +* maint(linux): add `--no-werror` option to not report warnings as errors (#13988) + ## 19.0.41 alpha 2025-05-19 * fix(web): inspectable test-script mode should not be auto-enabled in local-env tests (#13895) diff --git a/VERSION.md b/VERSION.md index ea680d35d4..0fa0f1afdd 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.42 \ No newline at end of file +19.0.43 \ No newline at end of file From 5866e7343c9d3971a4762ed5aab1c294c42b487c Mon Sep 17 00:00:00 2001 From: Shawn Schantz Date: Tue, 20 May 2025 16:34:23 +0700 Subject: [PATCH 6/7] chore(ios): update public key for new FirstVoices certificate --- oem/firstvoices/ios/exportAppStore.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/oem/firstvoices/ios/exportAppStore.plist b/oem/firstvoices/ios/exportAppStore.plist index 1d826a49bb..35155c59ea 100644 --- a/oem/firstvoices/ios/exportAppStore.plist +++ b/oem/firstvoices/ios/exportAppStore.plist @@ -7,9 +7,9 @@ teamID D7TR486TEH signingCertificate - 227D454DE9320031D7E9C3E02FEB7463B9A33776 + D7B7973A30C90C1A04666667F24B4D5C7E913923 installerSigningCertificate - 227D454DE9320031D7E9C3E02FEB7463B9A33776 + D7B7973A30C90C1A04666667F24B4D5C7E913923 provisioningProfiles com.firstvoices.keyboards From 01cbfae04ee0af89a1d9661c1e1932b341ed29ea Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Tue, 20 May 2025 14:01:30 -0400 Subject: [PATCH 7/7] auto: increment master version to 19.0.44 --- HISTORY.md | 5 +++++ VERSION.md | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 0fb293348b..0022d7aec9 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,10 @@ # Keyman Version History +## 19.0.43 alpha 2025-05-20 + +* chore(ios): FirstVoices certificate update (#13991) +* fix(linux): configurable path in `.service` file when using basu (#13980) + ## 19.0.42 alpha 2025-05-20 * maint(linux): add `--no-werror` option to not report warnings as errors (#13988) diff --git a/VERSION.md b/VERSION.md index 0fa0f1afdd..f63d9a2f0d 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.43 \ No newline at end of file +19.0.44 \ No newline at end of file