mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-05 00:15:32 +00:00
maint(common): disable path conversions on Windows
By default Git Bash converts paths starting with `/`, so running the docker image fails with errors or files mentioning `\Program Files\Git\`. This change adds a wrapper function that prevents the conversion and thus uses the paths in the correct form when calling docker.
This commit is contained in:
parent
c6a043c5af
commit
57a9583093
3 changed files with 18 additions and 8 deletions
|
|
@ -35,7 +35,7 @@ build_action() {
|
||||||
|
|
||||||
if [[ "${platform}" == "base" ]]; then
|
if [[ "${platform}" == "base" ]]; then
|
||||||
# shellcheck disable=SC2154 # set by convert_parameters_to_args
|
# shellcheck disable=SC2154 # set by convert_parameters_to_args
|
||||||
docker pull "${DISTRO}:${DISTRO_VERSION}"
|
docker_wrapper pull "${DISTRO}:${DISTRO_VERSION}"
|
||||||
elif [[ "${platform}" == "linux" ]]; then
|
elif [[ "${platform}" == "linux" ]]; then
|
||||||
cp "${KEYMAN_ROOT}/linux/debian/control" "${platform}"
|
cp "${KEYMAN_ROOT}/linux/debian/control" "${platform}"
|
||||||
fi
|
fi
|
||||||
|
|
@ -48,12 +48,12 @@ build_action() {
|
||||||
cd "${platform}"
|
cd "${platform}"
|
||||||
export DOCKER_BUILDKIT=1
|
export DOCKER_BUILDKIT=1
|
||||||
# shellcheck disable=SC2248,SC2086
|
# shellcheck disable=SC2248,SC2086
|
||||||
docker build ${OPTION_NO_CACHE:-} -t "keymanapp/keyman-${platform}-ci:${build_version}" "${build_args[@]}" .
|
docker_wrapper build ${OPTION_NO_CACHE:-} -t "keymanapp/keyman-${platform}-ci:${build_version}" "${build_args[@]}" .
|
||||||
# If the user didn't specify particular versions we will additionaly create an image
|
# If the user didn't specify particular versions we will additionaly create an image
|
||||||
# with the tag 'default'.
|
# with the tag 'default'.
|
||||||
if is_default_values; then
|
if is_default_values; then
|
||||||
builder_echo debug "Setting default tag for ${platform}"
|
builder_echo debug "Setting default tag for ${platform}"
|
||||||
docker build -t "keymanapp/keyman-${platform}-ci:default" "${build_args[@]}" .
|
docker_wrapper build -t "keymanapp/keyman-${platform}-ci:default" "${build_args[@]}" .
|
||||||
fi
|
fi
|
||||||
# shellcheck disable=SC2164,SC2103
|
# shellcheck disable=SC2164,SC2103
|
||||||
cd -
|
cd -
|
||||||
|
|
|
||||||
|
|
@ -71,3 +71,13 @@ check_buildx_available() {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
docker_wrapper() {
|
||||||
|
if [[ "${MSYSTEM:-}" == "MINGW64" ]]; then
|
||||||
|
# Prevent POSIX-to-Windows path conversion if running in Git Bash on Windows
|
||||||
|
# (https://github.com/git-for-windows/git/issues/577#issuecomment-166118846)
|
||||||
|
MSYS_NO_PATHCONV=1 docker "$@"
|
||||||
|
else
|
||||||
|
docker "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,21 +37,21 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run_android() {
|
run_android() {
|
||||||
docker run -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
docker_wrapper run -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
||||||
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
|
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
|
||||||
"keymanapp/keyman-android-ci:${image_version}" \
|
"keymanapp/keyman-android-ci:${image_version}" \
|
||||||
"${builder_extra_params[@]}"
|
"${builder_extra_params[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
run_core() {
|
run_core() {
|
||||||
docker run -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
docker_wrapper run -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
||||||
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
|
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
|
||||||
"keymanapp/keyman-core-ci:${image_version}" \
|
"keymanapp/keyman-core-ci:${image_version}" \
|
||||||
"${builder_extra_params[@]}"
|
"${builder_extra_params[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
run_developer() {
|
run_developer() {
|
||||||
docker run -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
docker_wrapper run -it --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
||||||
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
|
-v "${KEYMAN_ROOT}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
|
||||||
"keymanapp/keyman-developer-ci:${image_version}" \
|
"keymanapp/keyman-developer-ci:${image_version}" \
|
||||||
"${builder_extra_params[@]}"
|
"${builder_extra_params[@]}"
|
||||||
|
|
@ -60,7 +60,7 @@ run_developer() {
|
||||||
run_linux() {
|
run_linux() {
|
||||||
mkdir -p "${KEYMAN_ROOT}/linux/build/docker-linux/${build_dir}"
|
mkdir -p "${KEYMAN_ROOT}/linux/build/docker-linux/${build_dir}"
|
||||||
mkdir -p "${KEYMAN_ROOT}/linux/keyman-system-service/build/docker-linux/${build_dir}"
|
mkdir -p "${KEYMAN_ROOT}/linux/keyman-system-service/build/docker-linux/${build_dir}"
|
||||||
docker run -it --privileged --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
docker_wrapper run -it --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}/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/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 \
|
-v "${KEYMAN_ROOT}/linux/keyman-system-service/build/docker-linux/${build_dir}":/home/build/build/linux/keyman-system-service/build \
|
||||||
|
|
@ -70,7 +70,7 @@ run_linux() {
|
||||||
}
|
}
|
||||||
|
|
||||||
run_web() {
|
run_web() {
|
||||||
docker run -it --privileged --rm -v "${KEYMAN_ROOT}":/home/build/build \
|
docker_wrapper run -it --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}/core/build/docker-core/${build_dir}":/home/build/build/core/build \
|
||||||
"keymanapp/keyman-web-ci:${image_version}" \
|
"keymanapp/keyman-web-ci:${image_version}" \
|
||||||
"${builder_extra_params[@]}"
|
"${builder_extra_params[@]}"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue