summaryrefslogtreecommitdiff
path: root/tcwg-start-container.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2021-04-17 13:49:37 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2021-04-17 13:57:47 +0000
commitacf08dc6638e62b4372de04e8c9492d3487f479f (patch)
tree57544340dd3dd2c7867f54877b6e5ea9d1b3ae85 /tcwg-start-container.sh
parentda37058c016f6ee83ab40b2a2451b98dc487cf0b (diff)
tcwg-start-container.sh: Handle starting QEMU-based containers
... so that we can run SVE tcwg-llvmbot containers on x86_64 machines. Change-Id: Iaad0ba8e8012c4144b3672d547bc449bdf6b982b
Diffstat (limited to 'tcwg-start-container.sh')
-rwxr-xr-xtcwg-start-container.sh16
1 files changed, 14 insertions, 2 deletions
diff --git a/tcwg-start-container.sh b/tcwg-start-container.sh
index 88e3253e..16981e25 100755
--- a/tcwg-start-container.sh
+++ b/tcwg-start-container.sh
@@ -46,11 +46,23 @@ if docker stats --no-stream "$container" >/dev/null 2>&1; then
fi
fi
+qemu_mount=""
+qemu_bin=$(mktemp -p $HOME)
+case "$(uname -m):$image" in
+ x86_64:*-arm64-tcwg-llvmbot-*)
+ # See dockerfiles.git/tcwg-base/tcwg-llvmbot/start.sh for details
+ # on how this works.
+ cp "$(which qemu-aarch64-static)" "$qemu_bin"
+ chmod +x "$qemu_bin"
+ qemu_mount="-v $qemu_bin:/bin/qemu-aarch64-static"
+ ;;
+esac
+
start_sh=$(mktemp)
-docker run --rm $image start.sh > "$start_sh"
+docker run --rm $qemu_mount $image start.sh > "$start_sh"
bash "$start_sh" "$@"
-rm "$start_sh"
+rm "$start_sh" "$qemu_bin"
if [ x"$rm_cnt" != x"" ]; then
# With the new container started delete the old one.