diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml index 00e4ca3..18877ce 100644 --- a/.gitea/workflows/base-build.yml +++ b/.gitea/workflows/base-build.yml @@ -273,17 +273,25 @@ jobs: infofile="$version/build-info.json" image="gitea.fithwum.tech/fithwum/debian-base:$version" - digest=$(docker inspect --format='{{if .RepoDigests}}{{index .RepoDigests 0}}{{else}}unknown{{end}}' "$image" 2>/dev/null || echo "unknown") - size_bytes=$(docker image inspect "$image" --format='{{.Size}}' 2>/dev/null || echo "0") + + # Pull image before inspecting to ensure metadata is available + if ! docker pull "$image"; then + echo "[WARN] Failed to pull $image — setting fields to 'unknown/0'" + digest="unknown" + size_bytes=0 + else + digest=$(docker inspect --format='{{if .RepoDigests}}{{index .RepoDigests 0}}{{else}}unknown{{end}}' "$image" 2>/dev/null || echo "unknown") + size_bytes=$(docker image inspect "$image" --format='{{.Size}}' 2>/dev/null || echo "0") + size_bytes=${size_bytes//[^0-9]/} + if [[ -z "$size_bytes" ]]; then size_bytes=0; fi + fi - size_bytes=${size_bytes//[^0-9]/} - [[ -z "$size_bytes" ]] && size_bytes=0 size_human=$(human_size "$size_bytes") - sha256="unknown" - if [[ -f ../sha256sums.txt ]]; then - sha256=$(grep "$version/debian-$version.tar.bz2" ../sha256sums.txt | awk '{print $1}') - [[ -z "$sha256" ]] && sha256="unknown" + # Load SHA256 from file if available + SHA256=$(grep "$version/debian-$version.tar.bz2" ../sha256sums.txt | awk '{print $1}') + if [[ -z "$SHA256" ]]; then + SHA256="unknown" fi jq -n \