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 - name: Build and Push Alpine Image
run: | run: |
mkdir -p "${{ env.CACHE_DIR }}"
IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:alpine" IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:alpine"
METAFILE="${{ env.CACHE_DIR }}/metadata-alpine.json"
echo "[INFO] Building $IMAGE" 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: build-debian:
needs: check-for-changes needs: check-for-changes
@@ -124,15 +127,20 @@ jobs:
- name: Build and Push Debian Image - name: Build and Push Debian Image
run: | run: |
mkdir -p "${{ env.CACHE_DIR }}"
IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:debian" IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:debian"
METAFILE="${{ env.CACHE_DIR }}/metadata-debian.json"
echo "[INFO] Building $IMAGE" 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) - name: Build and Push Basic Image (depends on debian)
run: | run: |
IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:basic" IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:basic"
METAFILE2="${{ env.CACHE_DIR }}/metadata-basic.json"
echo "[INFO] Building $IMAGE" 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: generate-changelogs:
needs: check-for-changes needs: check-for-changes
@@ -217,6 +225,7 @@ jobs:
IMAGE_REPO_TS: ${{ env.IMAGE_REPO_TS }} IMAGE_REPO_TS: ${{ env.IMAGE_REPO_TS }}
ALPINE_DIGEST: ${{ needs.check-for-changes.outputs.alpine_digest }} ALPINE_DIGEST: ${{ needs.check-for-changes.outputs.alpine_digest }}
DEBIAN_DIGEST: ${{ needs.check-for-changes.outputs.debian_digest }} DEBIAN_DIGEST: ${{ needs.check-for-changes.outputs.debian_digest }}
CACHE_DIR: ${{ env.CACHE_DIR }}
run: | run: |
human_size() { human_size() {
local b=$1 local b=$1
@@ -232,6 +241,7 @@ jobs:
} }
cd upload-repo cd upload-repo
declare -A digests declare -A digests
digests[alpine]="${ALPINE_DIGEST}" digests[alpine]="${ALPINE_DIGEST}"
digests[debian]="${DEBIAN_DIGEST}" digests[debian]="${DEBIAN_DIGEST}"
@@ -246,11 +256,16 @@ jobs:
infofile="$version/build-info.json" infofile="$version/build-info.json"
image="${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO_TS}:$version" 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=$(docker image inspect "$image" --format='{{.Size}}' 2>/dev/null || echo "0")
size_bytes=${size_bytes//[^0-9]/} size_bytes=${size_bytes//[^0-9]/}
size_human=$(human_size "$size_bytes") size_human=$(human_size "$size_bytes")
base_digest="${digests[$version]:-unknown}" base_digest="${digests[$version]:-unknown}"
jq -n \ jq -n \