This repository has been archived on 2024-02-13. You can view files and clone it, but cannot push or open issues or pull requests.
balena-elixir/mirror.sh

47 lines
3.1 KiB
Bash
Executable file

#!/bin/sh
ARCHS="${ARCHS:-rpi:raspberry-pi armv7hf:raspberry-pi2,raspberrypi3 aarch64:raspberrypi3-64,raspberrypi4-64 i386 amd64}"
DISTROS="${DISTROS:-debian:buster,latest alpine:3.12,latest}"
set -x
set -e
for ARCH in `echo $ARCHS | xargs -n 1 echo | cut -d':' -f 1`; do
for DISTRO in `echo $DISTROS | xargs -n 1 echo | cut -d':' -f 1`; do
grep -v '^#' versions | while IFS=' ' read ELIXIR_VERSION ERLANG_MAJOR_VERSION; do
ELIXIR_MAJOR_MINOR_VERSION=`echo $ELIXIR_VERSION | awk -F\. '{print $1 "." $2}'`
for DISTRO_TAG in `echo $DISTROS | xargs -n 1 echo | grep "^$DISTRO" | cut -d':' -f 2 | tr "," "\n"`; do
ARCH_CONTAINER="registry.gitlab.com/jimsy/balena-elixir/$ARCH-$DISTRO-build:${ELIXIR_VERSION}-${DISTRO_TAG}"
docker pull $ARCH_CONTAINER
docker tag $ARCH_CONTAINER "jimsynz/balena-elixir:$ARCH-$DISTRO-build-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$ARCH-$DISTRO-build-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker tag $ARCH_CONTAINER "jimsynz/balena-elixir:$ARCH-$DISTRO-build-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$ARCH-$DISTRO-build-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
ARCH_RUN_CONTAINER="registry.gitlab.com/jimsy/balena-elixir/$ARCH-$DISTRO:${ELIXIR_VERSION}-${DISTRO_TAG}"
docker pull $ARCH_RUN_CONTAINER
docker tag $ARCH_RUN_CONTAINER "jimsynz/balena-elixir:$ARCH-$DISTRO-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$ARCH-$DISTRO-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker tag $ARCH_RUN_CONTAINER "jimsynz/balena-elixir:$ARCH-$DISTRO-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$ARCH-$DISTRO-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
for PLATFORM in `echo $ARCHS | xargs -n 1 echo | grep "^$ARCH:" | cut -d':' -f 2 | tr "," "\n" | grep -v "^$ARCH$"`; do
BUILD_CONTAINER="registry.gitlab.com/jimsy/balena-elixir/$PLATFORM-$DISTRO-build:${ELIXIR_VERSION}-${DISTRO_TAG}"
docker pull $BUILD_CONTAINER
docker tag $BUILD_CONTAINER "jimsynz/balena-elixir:$PLATFORM-$DISTRO-build-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$PLATFORM-$DISTRO-build-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker tag $BUILD_CONTAINER "jimsynz/balena-elixir:$PLATFORM-$DISTRO-build-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$PLATFORM-$DISTRO-build-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
RUN_CONTAINER="registry.gitlab.com/jimsy/balena-elixir/$PLATFORM-$DISTRO:${ELIXIR_VERSION}-${DISTRO_TAG}"
docker pull $RUN_CONTAINER
docker tag $RUN_CONTAINER "jimsynz/balena-elixir:$PLATFORM-$DISTRO-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$PLATFORM-$DISTRO-${ELIXIR_VERSION}-${DISTRO_TAG}"
docker tag $RUN_CONTAINER "jimsynz/balena-elixir:$PLATFORM-$DISTRO-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
docker push "jimsynz/balena-elixir:$PLATFORM-$DISTRO-${ELIXIR_MAJOR_MINOR_VERSION}-${DISTRO_TAG}"
done
done
done
done
done