Ensured CI tests are platform agnostic (amd64 vs arm64)

This commit is contained in:
cytopia
2022-03-22 22:50:11 +01:00
parent d1fd0addaa
commit 5eb8ce8187
20 changed files with 117 additions and 90 deletions

View File

@@ -93,8 +93,8 @@ function get_random_name() {
local name=
for i in {1..15}; do
rand="$( shuf -i 0-${len} -n 1 )"
rand=$(( rand - 1 ))
rand="$( shuf -i "0-${len}" -n 1 )"
rand="$(( rand - 1 ))"
name="${name}${chr[$rand]}"
i="${i}" # simply to get rid of shellcheck complaints
done
@@ -107,16 +107,18 @@ function get_random_name() {
###
function docker_run() {
local image_name="${1}"
local architecture="${2}"
shift
shift
local args="${*}"
# Returns docker-id
did="$( run "docker run --rm -d --name $( get_random_name ) ${args} ${image_name}" "1" )"
did="$( run "docker run --rm -d --platform ${architecture} --name $( get_random_name ) ${args} ${image_name}" "1" )"
sleep 10
# If it fails, start again in foreground to fail again, but show errors
if ! docker exec $(tty -s && echo "-it" || echo ) ${did} ls >/dev/null 2>&1; then
if ! docker exec "$(tty -s && echo "-it" || echo )" "${did}" ls >/dev/null 2>&1; then
run "docker run --rm --name $( get_random_name ) ${args} ${image_name}" "1"
return 1
fi