Improve builder script.

- Don't just pull all tags from the upstream registries. That's mental.
- Don't try and cross compile unless the arch is arm and the build platform is not arm.
This commit is contained in:
James Harton 2020-02-26 10:53:15 +13:00
parent ced5b7fcea
commit a0e4b2ddf2

View file

@ -14,18 +14,21 @@ BASE_CONTAINER=${4:-balenalib/$ARCH-$VARIANT:$TAG}
ERLANG_CONTAINER=$CI_REGISTRY/jimsy/balena-erlang/$ARCH-$VARIANT-build
if (echo $ARCH | grep 'arm\|aarch64\|rpi')
then
if (uname -m | grep 'x86_64\|i386')
then
CROSS_BUILD_START='RUN [ "cross-build-start" ]'
CROSS_BUILD_END='RUN [ "cross-build-start" ]'
CROSS_BUILD_END='RUN [ "cross-build-end" ]'
else
CROSS_BUILD_START=''
CROSS_BUILD_END=''
fi
else
CROSS_BUILD_START=''
CROSS_BUILD_END=''
fi
docker pull $BASE_CONTAINER || true
docker pull -a $CONTAINER_NAME-build || true
docker pull -a $CONTAINER_NAME || true
docker pull -a $ERLANG_CONTAINER || true
grep -v '^#' versions | sort -r | while IFS=' ' read ELIXIR_VERSION ERLANG_MAJOR_VERSION
do
@ -34,6 +37,13 @@ do
ELIXIR_MAJOR_VERSION=$(echo $ELIXIR_VERSION | cut -d\. -f1-2)
TEMP_CONTAINER=$ARCH-$VARIANT-build-$ELIXIR_VERSION-$TAG:$CI_COMMIT_SHA
docker pull $ERLANG_CONTAINER:$ERLANG_MAJOR_VERSION-$TAG || true
docker pull $CONTAINER_NAME-build-$ELIXIR_VERSION-$TAG || true
docker pull $CONTAINER_NAME-build-$ELIXIR_MAJOR_VERSION-$TAG || true
docker pull $CONTAINER_NAME-$ELIXIR_VERSION-$TAG || true
docker pull $CONTAINER_NAME-$ELIXIR_MAJOR_VERSION-$TAG || true
sed \
-e "s~#{CROSS_BUILD_START}~$CROSS_BUILD_START~g" \
-e "s~#{CROSS_BUILD_END}~$CROSS_BUILD_END~g" \