rebuild when Alpine registry index is absent
Build Alpine Packages / preflight (pull_request) Successful in 4s
Build Alpine Packages / build (gitea) (pull_request) Successful in 52s
Build Alpine Packages / build (greptimedb) (pull_request) Successful in 1h16m48s
Build Alpine Packages / build (lavinmq) (pull_request) Successful in 2m28s
Build Alpine Packages / build (nifi) (pull_request) Successful in 3m46s
Build Alpine Packages / build (rclone-openrc) (pull_request) Successful in 11s
Build Alpine Packages / build (seaweedfs) (pull_request) Successful in 39m19s
Build Alpine Packages / verify-and-publish (pull_request) Failing after 4m11s
Build Alpine Packages / preflight (pull_request) Successful in 4s
Build Alpine Packages / build (gitea) (pull_request) Successful in 52s
Build Alpine Packages / build (greptimedb) (pull_request) Successful in 1h16m48s
Build Alpine Packages / build (lavinmq) (pull_request) Successful in 2m28s
Build Alpine Packages / build (nifi) (pull_request) Successful in 3m46s
Build Alpine Packages / build (rclone-openrc) (pull_request) Successful in 11s
Build Alpine Packages / build (seaweedfs) (pull_request) Successful in 39m19s
Build Alpine Packages / verify-and-publish (pull_request) Failing after 4m11s
This commit is contained in:
@@ -30,16 +30,30 @@ registry_key_url() {
|
||||
}
|
||||
|
||||
download_registry_metadata() {
|
||||
local arch url key_dir
|
||||
local arch url key_dir http_status
|
||||
|
||||
require_registry_config INSTANCE_URL "${instance_url}"
|
||||
require_registry_config PACKAGE_OWNER "${owner}"
|
||||
declare -gA registry_index_available=()
|
||||
mkdir -p "${registry_cache}"
|
||||
url="$(registry_url)"
|
||||
for arch in ${arches}; do
|
||||
curl --fail --silent --show-error --location \
|
||||
if http_status="$(curl --fail --silent --location \
|
||||
--output "${registry_cache}/${arch}.APKINDEX.tar.gz" \
|
||||
"${url}/${arch}/APKINDEX.tar.gz"
|
||||
--write-out '%{http_code}' \
|
||||
"${url}/${arch}/APKINDEX.tar.gz")"; then
|
||||
registry_index_available["${arch}"]=1
|
||||
continue
|
||||
fi
|
||||
if [[ "${http_status}" == 404 ]]; then
|
||||
registry_index_available["${arch}"]=0
|
||||
printf 'Registry index is absent: %s/%s/APKINDEX.tar.gz; treating it as empty\n' \
|
||||
"${url}" "${arch}" >&2
|
||||
continue
|
||||
fi
|
||||
printf 'failed to download registry index (%s): %s/%s/APKINDEX.tar.gz\n' \
|
||||
"${http_status:-curl error}" "${url}" "${arch}" >&2
|
||||
return 1
|
||||
done
|
||||
key_dir="${registry_cache}/keys"
|
||||
mkdir -p "${key_dir}"
|
||||
@@ -59,6 +73,7 @@ load_registry_index() {
|
||||
declare -gA registry_latest_versions=()
|
||||
|
||||
for arch in ${arches}; do
|
||||
[[ "${registry_index_available[${arch}]:-0}" == 1 ]] || continue
|
||||
while IFS=$'\t' read -r package_name package_version; do
|
||||
[[ -n "${package_name}" && -n "${package_version}" ]] || continue
|
||||
registry_key="${arch}|${package_name}"
|
||||
|
||||
Reference in New Issue
Block a user