diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml index 4079a27..eaad616 100644 --- a/.gitea/workflows/base-build.yml +++ b/.gitea/workflows/base-build.yml @@ -230,7 +230,7 @@ jobs: needs.build-alpine.outputs.built == 'true' || needs.build-debian.outputs.built == 'true' || needs.build-basic.outputs.built == 'true' - runs-on: vm-docker-build + runs-on: doc-docker-build steps: - name: Checkout source uses: actions/checkout@v3 @@ -259,6 +259,7 @@ jobs: printf "%s%s\n" "$b" "${S[$s]}" } + echo "[INFO] Logging in" echo "${{ secrets.GIT_TOKEN }}" | docker login gitea.fithwum.tech -u "${{ secrets.GIT_USERNAME }}" --password-stdin versions=() @@ -276,19 +277,22 @@ jobs: echo "[INFO] Generating build-info.json for $version" mkdir -p "$version" infofile="$version/build-info.json" + metadata_file="${CACHE_DIR}/metadata-$version.json" image="${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO_TS}:$version" - - echo "[INFO] Pulling $image" - docker pull "$image" || echo "[WARN] Failed to pull $image" - digest=$(docker inspect --format='{{index .RepoDigests 0}}' "$image" 2>/dev/null || echo "") - if [ -z "$digest" ]; then - digest=$(docker inspect --format='{{.Id}}' "$image" 2>/dev/null || echo "unknown") + # Read digest and size from metadata JSON generated by buildx + if [ -f "$metadata_file" ]; then + digest=$(jq -r '.digest' "$metadata_file" 2>/dev/null) + size_bytes=$(jq -r '.size' "$metadata_file" 2>/dev/null) + size_bytes=${size_bytes:-0} + else + echo "[WARN] Metadata file $metadata_file not found, falling back to unknown" + digest="unknown" + size_bytes=0 fi - size_bytes=$(docker image inspect "$image" --format='{{.Size}}' 2>/dev/null || echo "0") - size_bytes=${size_bytes//[^0-9]/} size_human=$(human_size "$size_bytes") + base_digest="unknown" if [ "$version" = "alpine" ]; then base_digest="${ALPINE_DIGEST:-unknown}" @@ -298,12 +302,6 @@ jobs: base_digest="${BASIC_DIGEST:-unknown}" fi - echo "[DEBUG] version=$version" - echo "[DEBUG] digest=$digest" - echo "[DEBUG] size_bytes=$size_bytes" - echo "[DEBUG] size_human=$size_human" - echo "[DEBUG] base_digest=$base_digest" - jq -n \ --arg version "$version" \ --arg commit "$(git rev-parse HEAD)" \