Rollup merge of #127828 - tgross35:docker-aarch64-uname, r=onur-ozkan

Commonize `uname -m` results for `aarch64` in docker runner

`uname -m` on Linux reports `aarch64`, but on MacOS reports `arm64`. Commonize this to `aarch64`.

With this fix, it is now possible to run aarch64 CI docker images on Arm MacOS.
This commit is contained in:
Trevor Gross 2024-07-17 19:53:27 -05:00 committed by GitHub
commit d76ec075ab
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -27,8 +27,11 @@ do
shift shift
done done
# MacOS reports "arm64" while Linux reports "aarch64". Commonize this.
machine="$(uname -m | sed 's/arm64/aarch64/')"
script_dir="`dirname $script`" script_dir="`dirname $script`"
docker_dir="${script_dir}/host-$(uname -m)" docker_dir="${script_dir}/host-${machine}"
ci_dir="`dirname $script_dir`" ci_dir="`dirname $script_dir`"
src_dir="`dirname $ci_dir`" src_dir="`dirname $ci_dir`"
root_dir="`dirname $src_dir`" root_dir="`dirname $src_dir`"
@ -68,7 +71,7 @@ if [ -f "$docker_dir/$image/Dockerfile" ]; then
# Include the architecture in the hash key, since our Linux CI does not # Include the architecture in the hash key, since our Linux CI does not
# only run in x86_64 machines. # only run in x86_64 machines.
uname -m >> $hash_key echo "$machine" >> $hash_key
# Include cache version. Can be used to manually bust the Docker cache. # Include cache version. Can be used to manually bust the Docker cache.
echo "2" >> $hash_key echo "2" >> $hash_key
@ -178,7 +181,7 @@ elif [ -f "$docker_dir/disabled/$image/Dockerfile" ]; then
build \ build \
--rm \ --rm \
-t rust-ci \ -t rust-ci \
-f "host-$(uname -m)/$image/Dockerfile" \ -f "host-${machine}/$image/Dockerfile" \
- -
else else
echo Invalid image: $image echo Invalid image: $image
@ -201,7 +204,7 @@ else
else else
continue continue
fi fi
echo "Note: the current host architecture is $(uname -m)" echo "Note: the current host architecture is $machine"
done done
exit 1 exit 1