From 766bb2bfa0ecce950fa476207bb619f49fe4880b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joachim=20Schl=C3=B6ffel?= Date: Thu, 8 Oct 2026 12:11:53 +0200 Subject: [PATCH] smoke test complete local rebuilds offline --- scripts/apk/ci-smoke.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/scripts/apk/ci-smoke.sh b/scripts/apk/ci-smoke.sh index c6b6e5d..c9eb633 100755 --- a/scripts/apk/ci-smoke.sh +++ b/scripts/apk/ci-smoke.sh @@ -12,6 +12,7 @@ registry_url="${ALPINE_REGISTRY_URL:-}" registry_key="${ALPINE_REGISTRY_KEY:-}" read -r -a package_list <<< "${packages}" declare -A source_packages=() +local_repo_complete=0 while IFS= read -r package_dir; do while IFS= read -r spec; do @@ -26,18 +27,30 @@ for package in "${package_list[@]}"; do fi done +if [[ -d "${repo_dir}" ]]; then + local_repo_complete=1 + for package in "${package_list[@]}"; do + if ! compgen -G "${repo_dir}/${package}-*.apk" >/dev/null; then + local_repo_complete=0 + break + fi + done +fi + if [[ -d "${repo_dir}" ]]; then cp "${repo_dir}"/*.rsa.pub /etc/apk/keys/ echo "${repo_root}/packages/${repo_name}" >> /etc/apk/repositories fi -if [[ -n "${registry_url}" ]]; then +if [[ -n "${registry_url}" && "${local_repo_complete}" == 0 ]]; then if [[ ! -f "${registry_key}" ]]; then printf 'missing Alpine registry signing key: %s\n' "${registry_key:-}" >&2 exit 1 fi cp "${registry_key}" /etc/apk/keys/ echo "${registry_url}" >> /etc/apk/repositories +elif [[ -n "${registry_url}" ]]; then + printf 'Using the complete local Alpine repository; registry fallback is not needed\n' fi if [[ ! -d "${repo_dir}" && -z "${registry_url}" ]]; then