split stable & edge builds, for parallelization & avoiding failures in one to prevent the other images to build

This commit is contained in:
El RIDO 2021-09-29 19:41:07 +02:00
parent bcedf56664
commit 76234b4a1e
2 changed files with 16 additions and 9 deletions

View file

@ -5,6 +5,8 @@
set -euxo pipefail
EVENT=$1
EDGE=false
[ "$2" = edge ] && EDGE=true
build_image() {
local PUSH
@ -59,15 +61,15 @@ main() {
PUSH=false
fi
if [ "$EDGE" = true ] ; then
sed -e 's/^FROM alpine:.*$/FROM alpine:edge/' Dockerfile > Dockerfile.edge
fi
image_build_arguments | while read -r IMAGE BUILD_ARGS ; do
build_image $PUSH --tag "$IMAGE:latest" --tag "$IMAGE:$TAG" --tag "${IMAGE}:${TAG%%-*}" "$BUILD_ARGS"
done
# run the edge builds in a separate loop, to avoid issues in them from
# preventing the stable image builds and pushes to conclude
sed -e 's/^FROM alpine:.*$/FROM alpine:edge/' Dockerfile > Dockerfile.edge
image_build_arguments | while read -r IMAGE BUILD_ARGS ; do
build_image $PUSH -f Dockerfile.edge --tag "$IMAGE:edge" "$BUILD_ARGS"
if [ "$EDGE" = false ] ; then
build_image $PUSH --tag "$IMAGE:latest" --tag "$IMAGE:$TAG" --tag "${IMAGE}:${TAG%%-*}" "$BUILD_ARGS"
else
build_image $PUSH -f Dockerfile.edge --tag "$IMAGE:edge" "$BUILD_ARGS"
fi
done
rm -f Dockerfile.edge "$HOME/.docker/config.json"