Add Makefile and bin/ scripts for one-command multi-arch release
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.
This commit is contained in:
Executable
+17
@@ -0,0 +1,17 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user