From bbae2a716d9c75777abacb3a47a9d84eb37befc2 Mon Sep 17 00:00:00 2001 From: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Date: Tue, 24 May 2022 01:50:09 +0900 Subject: [PATCH] feat(docker/build.sh): support cross build (#341) Signed-off-by: Kenji Miyake --- docker/build.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docker/build.sh b/docker/build.sh index e16272f1d4..b525cf343c 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -5,9 +5,20 @@ set -e SCRIPT_DIR=$(readlink -f "$(dirname "$0")") WORKSPACE_ROOT="$SCRIPT_DIR/../" +# Set default platform +platform="linux/amd64" +if [ "$(uname -m)" = "aarch64" ]; then + platform="linux/arm64" +fi + +# Override platform by arg +if [ "$1" = "amd64" ] || [ "$1" = "arm64" ]; then + platform="linux/$1" +fi + # Load env source "$WORKSPACE_ROOT/amd64.env" -if [ "$(uname -m)" = "aarch64" ]; then +if [ "$platform" = "linux/arm64" ]; then source "$WORKSPACE_ROOT/arm64.env" fi @@ -17,6 +28,7 @@ export BUILDKIT_STEP_LOG_MAX_SIZE=10000000 docker buildx bake --load --progress=plain -f "$SCRIPT_DIR/autoware-universe/docker-bake.hcl" \ --set "*.context=$WORKSPACE_ROOT" \ --set "*.ssh=default" \ + --set "*.platform=$platform" \ --set "*.args.ROS_DISTRO=$rosdistro" \ --set "*.args.BASE_IMAGE=$base_image" \ --set "devel.tags=ghcr.io/autowarefoundation/autoware-universe:$rosdistro-latest" \