chore(android): Merge remote-tracking branch 'origin/master' into fix/android/some-bottom-inset

# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
This commit is contained in:
Darcy Wong 2025-09-25 10:04:16 +07:00
commit 86bf4ce85e
11 changed files with 27 additions and 24 deletions

View file

@ -1,5 +1,6 @@
external-sources=true
# If you get SC1091 for sourced files, add the following setting to
# your .vscode/settings.json file:
# "shellcheck.useWorkspaceRootAsCwd": false
source-path=resources/build/
source-path=resources/
source-path=SCRIPTDIR
source-path=linux/ibus-keyman/tests/scripts/

View file

@ -1,5 +1,9 @@
# Keyman Version History
## 19.0.125 alpha 2025-09-23
* fix(common): some more tests running successfully in a container (#14784)
## 19.0.124 alpha 2025-09-22
* maint(linux): improve `upload-to-debian` script (#14798)

View file

@ -1 +1 @@
19.0.125
19.0.126

View file

@ -104,9 +104,6 @@
"C_Cpp.clang_format_fallbackStyle": "Google",
"bashIde.explainshellEndpoint": "http://localhost:5000",
"bashIde.highlightParsingErrors": true,
"shellcheck.customArgs": [
"--external-sources --source-path=resources/build/"
],
"C_Cpp.errorSquiggles": "EnabledIfIncludesResolve",
"shellcheck.useWorkspaceRootAsCwd": false
"shellcheck.useWorkspaceRootAsCwd": true
}

View file

@ -1,15 +1,15 @@
#!/usr/bin/env bash
set -eu
while [ -n "$1" ]; do
if [ ! -d "$1" ]; then
while [[ -n "$1" ]]; do
if [[ ! -d "$1" ]]; then
shift
continue
fi
pushd "$1" > /dev/null
while IFS= read -r -d '' file; do
testname=$(basename "$file" .kmx)
testname=$(basename "${file}" .kmx)
#shellcheck disable=SC2059
printf "$(basename "$file")\t${testname#k_}\n"
printf "$(basename "${file}")\t${testname#k_}\n"
done < <(find . -name \*.kmx -print0 | sort -z)
popd > /dev/null
exit 0

View file

@ -2,7 +2,6 @@
set -eu
TESTDIR=${XDG_DATA_HOME:-${HOME}/.local/share}/keyman/test_kmx
# shellcheck source=linux/ibus-keyman/tests/scripts/test-helper.inc.sh
. "$(dirname "$0")"/test-helper.inc.sh
if [[ -v KEYMAN_PKG_BUILD ]]; then

View file

@ -3,7 +3,6 @@
set -eu
# shellcheck disable=SC2034
TOP_SRCDIR=${top_srcdir:-$(realpath "$(dirname "$0")/../..")}
TESTBASEDIR=${XDG_DATA_HOME:-${HOME}/.local/share}/keyman
TESTDIR=${TESTBASEDIR}/test_kmx
@ -11,7 +10,6 @@ CLEANUP_FILE=/tmp/ibus-keyman-test-cleanup
PID_FILE=/tmp/ibus-keyman-test.pids
ENV_FILE=/tmp/keyman-env.txt
# shellcheck disable=SC1091
. "$(dirname "$0")"/test-helper.inc.sh
local_cleanup() {
@ -69,7 +67,7 @@ function run_tests() {
G_TEST_BUILDDIR="$(dirname "$0")/../../../build/$(arch)/${CONFIG}/tests"
setup "$DISPLAY_SERVER" "$ENV_FILE" "$CLEANUP_FILE" "$PID_FILE" --standalone
setup "${DISPLAY_SERVER}" "${ENV_FILE}" "${CLEANUP_FILE}" "${PID_FILE}" --standalone
if [[ "${DOCKER_RUNNING:-false}" == "true" ]]; then
echo "# NOTE: When the tests fail check ibus-engine-keyman.log, ibus-daemon.log and km-test-server.log in build/docker-linux/tmp/!"

View file

@ -54,6 +54,7 @@ function _builder_basic_find_keyman_root() {
KEYMAN_ROOT="${BASH_SOURCE[0]%/*/*/*}"
KEYMAN_ROOT="$( cd "$KEYMAN_ROOT" && echo "$PWD" )"
readonly KEYMAN_ROOT
export KEYMAN_ROOT
fi
}

View file

@ -57,7 +57,8 @@ build_action() {
# with the tag 'default'.
if is_default_values; then
builder_echo debug "Setting default tag for ${platform}"
docker_wrapper build -t "${registry_slash}keymanapp/keyman-${platform}-ci:default" "${build_args[@]}" .
docker_wrapper tag "${registry_slash}keymanapp/keyman-${platform}-ci:${build_version}" \
"${registry_slash}keymanapp/keyman-${platform}-ci:default"
fi
# shellcheck disable=SC2164,SC2103
cd -
@ -104,7 +105,7 @@ if builder_has_action build; then
fi
builder_run_action test:core test_action core
builder_run_action test:linux test_action linux
# builder_run_action test:linux test_action linux
builder_run_action test:web test_action web
# Android uses artifacts from web, so it has to come after web
builder_run_action test:android test_action android

View file

@ -87,6 +87,9 @@ setup_docker() {
if [[ "${MSYSTEM:-}" == "MINGW64" ]]; then
DOCKER_RUN_ARGS+=(--env DOCKER_RUN_AS_ROOT=1)
fi
if [[ -z ${DOCKER_RUNNING:-} ]] ; then
DOCKER_RUN_ARGS+=(-t)
fi
}
setup_container_registry() {

View file

@ -3,7 +3,6 @@
## START STANDARD BUILD SCRIPT INCLUDE
# adjust relative paths as necessary
THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
# shellcheck source=resources/build/builder-full.inc.sh
. "${THIS_SCRIPT%/*}/../../resources/build/builder-full.inc.sh"
## END STANDARD BUILD SCRIPT INCLUDE
@ -44,21 +43,21 @@ else
fi
run_android() {
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -i --rm -v "${KEYMAN_ROOT}":/home/build/build \
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
"${registry_slash}keymanapp/keyman-android-ci:${image_version}" \
"${builder_extra_params[@]}"
}
run_core() {
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -i --rm -v "${KEYMAN_ROOT}":/home/build/build \
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
"${registry_slash}keymanapp/keyman-core-ci:${image_version}" \
"${builder_extra_params[@]}"
}
run_developer() {
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -i --rm -v "${KEYMAN_ROOT}":/home/build/build \
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
"${registry_slash}keymanapp/keyman-developer-ci:${image_version}" \
"${builder_extra_params[@]}"
@ -67,7 +66,7 @@ run_developer() {
run_linux() {
mkdir -p "${KEYMAN_ROOT}/linux/build/docker-linux/${build_dir}"
mkdir -p "${KEYMAN_ROOT}/linux/keyman-system-service/build/docker-linux/${build_dir}"
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -it --privileged --rm -v "${KEYMAN_ROOT}":/home/build/build \
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -i --privileged --rm -v "${KEYMAN_ROOT}":/home/build/build \
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
-v "${KEYMAN_ROOT}/linux/build/docker-linux/${build_dir}":/home/build/build/linux/build \
-v "${KEYMAN_ROOT}/linux/keyman-system-service/build/docker-linux/${build_dir}":/home/build/build/linux/keyman-system-service/build \
@ -77,7 +76,7 @@ run_linux() {
}
run_web() {
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -it --privileged --rm -v "${KEYMAN_ROOT}":/home/build/build \
docker_wrapper run "${DOCKER_RUN_ARGS[@]}" -i --privileged --rm -v "${KEYMAN_ROOT}":/home/build/build \
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
"${registry_slash}keymanapp/keyman-web-ci:${image_version}" \
"${builder_extra_params[@]}"