make release builds, smoke-tests and pushes amd64 (on fsn1app1 via DOCKER_HOST) and arm64 (local), joins them into latest and dated multi-arch manifests, and commits the day's logs. Logic lives in bin/; the Makefile only wires dependencies so -j2 runs the arches in parallel.
18 lines
460 B
Bash
Executable File
18 lines
460 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Join the per-arch tags into multi-arch manifests IMAGE:latest and
|
|
# IMAGE:DATE, and record what was published.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
. bin/lib.sh
|
|
unset DOCKER_HOST
|
|
|
|
refs=()
|
|
for arch in ${ARCHES:-amd64 arm64}; do
|
|
refs+=("$(arch_tag "$arch")")
|
|
done
|
|
|
|
docker buildx imagetools create \
|
|
-t "$IMAGE:latest" -t "$IMAGE:$DATE" "${refs[@]}"
|
|
|
|
docker buildx imagetools inspect "$IMAGE:$DATE" | tee "$LOGDIR/manifest.txt"
|