test
All checks were successful
Build and Push Teamspeak Images on Base Image Update / check-for-changes (push) Successful in 9s
Build and Push Teamspeak Images on Base Image Update / build-alpine (push) Successful in 9s
Build and Push Teamspeak Images on Base Image Update / build-debian (push) Successful in 8s
Build and Push Teamspeak Images on Base Image Update / generate-changelogs (push) Successful in 10s
Build and Push Teamspeak Images on Base Image Update / generate-build-info (push) Successful in 7s

This commit is contained in:
2025-07-10 14:22:52 -07:00
parent 9aa35c6fa4
commit 78a84b211f

View File

@@ -104,9 +104,12 @@ jobs:
- name: Build and Push Alpine Image
run: |
mkdir -p "${{ env.CACHE_DIR }}"
IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:alpine"
METAFILE="${{ env.CACHE_DIR }}/metadata-alpine.json"
echo "[INFO] Building $IMAGE"
docker buildx build --platform linux/amd64 --push -t "$IMAGE" ./alpine
docker buildx build --platform linux/amd64 --push -t "$IMAGE" --metadata-file "$METAFILE" ./alpine
build-debian:
needs: check-for-changes
@@ -124,15 +127,20 @@ jobs:
- name: Build and Push Debian Image
run: |
mkdir -p "${{ env.CACHE_DIR }}"
IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:debian"
METAFILE="${{ env.CACHE_DIR }}/metadata-debian.json"
echo "[INFO] Building $IMAGE"
docker buildx build --platform linux/amd64 --push -t "$IMAGE" ./debian
docker buildx build --platform linux/amd64 --push -t "$IMAGE" --metadata-file "$METAFILE" ./debian
- name: Build and Push Basic Image (depends on debian)
run: |
IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:basic"
METAFILE2="${{ env.CACHE_DIR }}/metadata-basic.json"
echo "[INFO] Building $IMAGE"
docker buildx build --platform linux/amd64 --push -t "$IMAGE" ./basic
docker buildx build --platform linux/amd64 --push -t "$IMAGE" --metadata-file "$METAFILE2" ./basic
generate-changelogs:
needs: check-for-changes
@@ -217,6 +225,7 @@ jobs:
IMAGE_REPO_TS: ${{ env.IMAGE_REPO_TS }}
ALPINE_DIGEST: ${{ needs.check-for-changes.outputs.alpine_digest }}
DEBIAN_DIGEST: ${{ needs.check-for-changes.outputs.debian_digest }}
CACHE_DIR: ${{ env.CACHE_DIR }}
run: |
human_size() {
local b=$1
@@ -232,6 +241,7 @@ jobs:
}
cd upload-repo
declare -A digests
digests[alpine]="${ALPINE_DIGEST}"
digests[debian]="${DEBIAN_DIGEST}"
@@ -246,11 +256,16 @@ jobs:
infofile="$version/build-info.json"
image="${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO_TS}:$version"
digest=$(docker inspect --format='{{if .RepoDigests}}{{index .RepoDigests 0}}{{else}}unknown{{end}}' "$image" 2>/dev/null || echo "unknown")
# get digest from metadata file instead of docker inspect
metafile="../${CACHE_DIR}/metadata-$version.json"
digest="unknown"
if [ -f "$metafile" ]; then
digest=$(jq -r '."containerimage.digest"' "$metafile" || echo "unknown")
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="${digests[$version]:-unknown}"
jq -n \