ci: fix local image buildx load platform

This commit is contained in:
Brad Stein 2026-04-12 11:04:13 -03:00
parent cd457d4e88
commit b1a5538799

View File

@ -18,18 +18,24 @@ should_push() {
build_with_buildx() { build_with_buildx() {
local dockerfile=$1 local dockerfile=$1
local image=$2 local image=$2
local platform_args=()
if should_push; then if should_push; then
platform_args=(--platform "${PLATFORMS}")
docker buildx build \ docker buildx build \
--platform "${PLATFORMS}" \ "${platform_args[@]}" \
-f "${dockerfile}" \ -f "${dockerfile}" \
-t "${image}:${IMAGE_TAG}" \ -t "${image}:${IMAGE_TAG}" \
-t "${image}:latest" \ -t "${image}:latest" \
--push \ --push \
"${ROOT_DIR}" "${ROOT_DIR}"
else else
# buildx cannot `--load` a manifest list, so load the host platform only.
local host_platform
host_platform="$(docker version --format '{{.Server.Os}}/{{.Server.Arch}}' 2>/dev/null || echo linux/amd64)"
platform_args=(--platform "${host_platform}")
docker buildx build \ docker buildx build \
--platform "${PLATFORMS}" \ "${platform_args[@]}" \
-f "${dockerfile}" \ -f "${dockerfile}" \
-t "${image}:${IMAGE_TAG}" \ -t "${image}:${IMAGE_TAG}" \
-t "${image}:latest" \ -t "${image}:latest" \