45 lines
1.4 KiB
Bash
45 lines
1.4 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
label="${1:?label required}"
|
||
|
|
enable_cache="${2:?enable-cache required (true/false)}"
|
||
|
|
|
||
|
|
if [ "$enable_cache" = "true" ]; then
|
||
|
|
cache_dir="${GITHUB_WORKSPACE}/.tesseract-cache/${label}"
|
||
|
|
|
||
|
|
echo "TESSERACT_RS_CACHE_DIR=${cache_dir}" >>"$GITHUB_ENV"
|
||
|
|
echo "XDG_CACHE_HOME=${GITHUB_WORKSPACE}/.xdg-cache/${label}" >>"$GITHUB_ENV"
|
||
|
|
|
||
|
|
echo "cache-dir=${cache_dir}" >>"$GITHUB_OUTPUT"
|
||
|
|
echo "cache-enabled=true" >>"$GITHUB_OUTPUT"
|
||
|
|
|
||
|
|
docker_opts="--env TESSERACT_RS_CACHE_DIR=/io/.tesseract-cache/${label}"
|
||
|
|
docker_opts="${docker_opts} --env XDG_CACHE_HOME=/io/.xdg-cache/${label}"
|
||
|
|
multiarch=""
|
||
|
|
if command -v dpkg-architecture >/dev/null 2>&1; then
|
||
|
|
multiarch="$(dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null || true)"
|
||
|
|
fi
|
||
|
|
if [ -z "$multiarch" ]; then
|
||
|
|
case "$(uname -m)" in
|
||
|
|
x86_64) multiarch="x86_64-linux-gnu" ;;
|
||
|
|
aarch64 | arm64) multiarch="aarch64-linux-gnu" ;;
|
||
|
|
esac
|
||
|
|
fi
|
||
|
|
openssl_lib_dir="/usr/lib"
|
||
|
|
if [ -n "$multiarch" ]; then
|
||
|
|
openssl_lib_dir="/usr/lib/${multiarch}"
|
||
|
|
fi
|
||
|
|
docker_opts="${docker_opts} --env OPENSSL_LIB_DIR=${openssl_lib_dir}"
|
||
|
|
docker_opts="${docker_opts} --env OPENSSL_INCLUDE_DIR=/usr/include"
|
||
|
|
echo "docker-options=${docker_opts}" >>"$GITHUB_OUTPUT"
|
||
|
|
else
|
||
|
|
{
|
||
|
|
echo "TESSERACT_RS_CACHE_DIR="
|
||
|
|
} >>"$GITHUB_ENV"
|
||
|
|
{
|
||
|
|
echo "cache-dir="
|
||
|
|
echo "cache-enabled=false"
|
||
|
|
echo "docker-options="
|
||
|
|
} >>"$GITHUB_OUTPUT"
|
||
|
|
fi
|