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:
parent
ced5b7fcea
commit
a0e4b2ddf2
1 changed files with 15 additions and 5 deletions
18
build.sh
18
build.sh
|
@ -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" \
|
||||
|
|
Reference in a new issue