|
|
@ -108,42 +108,3 @@ docker buildx build \
|
|
|
|
"${tag_args[@]}" \
|
|
|
|
"${tag_args[@]}" \
|
|
|
|
--push \
|
|
|
|
--push \
|
|
|
|
- < ./docker/Dockerfile.buildx
|
|
|
|
- < ./docker/Dockerfile.buildx
|
|
|
|
|
|
|
|
|
|
|
|
# Add an extra arch-specific tag for `arm32v6`; Docker can't seem to properly
|
|
|
|
|
|
|
|
# auto-select that image on ARMv6 platforms like Raspberry Pi 1 and Zero
|
|
|
|
|
|
|
|
# (https://github.com/moby/moby/issues/41017).
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Note that we use `arm32v6` instead of `armv6` to be consistent with the
|
|
|
|
|
|
|
|
# existing vaultwarden tags, which adhere to the naming conventions of the
|
|
|
|
|
|
|
|
# Docker per-architecture repos (e.g., https://hub.docker.com/u/arm32v6).
|
|
|
|
|
|
|
|
# Unfortunately, these per-arch repo names aren't always consistent with the
|
|
|
|
|
|
|
|
# corresponding platform (OS/arch/variant) IDs, particularly in the case of
|
|
|
|
|
|
|
|
# 32-bit ARM arches (e.g., `linux/arm/v6` is used, not `linux/arm32/v6`).
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# TODO: It looks like this issue should be fixed starting in Docker 20.10.0,
|
|
|
|
|
|
|
|
# so this step can be removed once fixed versions are in wider distribution.
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Tags:
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# testing => testing-arm32v6
|
|
|
|
|
|
|
|
# testing-alpine => <ignored>
|
|
|
|
|
|
|
|
# x.y.z => x.y.z-arm32v6, latest-arm32v6
|
|
|
|
|
|
|
|
# x.y.z-alpine => <ignored>
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
if [[ "${DOCKER_TAG}" != *alpine ]]; then
|
|
|
|
|
|
|
|
image="${DOCKER_REPO}":"${DOCKER_TAG}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Fetch the multi-arch manifest list and find the digest of the armv6 image.
|
|
|
|
|
|
|
|
filter='.manifests|.[]|select(.platform.architecture=="arm" and .platform.variant=="v6")|.digest'
|
|
|
|
|
|
|
|
digest="$(docker manifest inspect "${image}" | jq -r "${filter}")"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Pull the armv6 image by digest, retag it, and repush it.
|
|
|
|
|
|
|
|
docker pull "${DOCKER_REPO}"@"${digest}"
|
|
|
|
|
|
|
|
docker tag "${DOCKER_REPO}"@"${digest}" "${image}"-arm32v6
|
|
|
|
|
|
|
|
docker push "${image}"-arm32v6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [[ "${DOCKER_TAG}" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then
|
|
|
|
|
|
|
|
docker tag "${image}"-arm32v6 "${DOCKER_REPO}:latest"-arm32v6
|
|
|
|
|
|
|
|
docker push "${DOCKER_REPO}:latest"-arm32v6
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|