mirror of
https://github.com/google/benchmark.git
synced 2025-02-07 09:40:17 +08:00
ff629d847c
This commit enables arm64 Linux wheel builds for Python. It also changes the build procedure on Linux using cibuildwheel in GitHub Actions. Instead of the more granular, verbose approach that was used until now, we opt for the GitHub Action released by cibuildwheel directly. We also change the Bazel install procedure in the manylinux Docker container image. Previously, Bazel was installed from an added RHEL repo, since that is the recommended official way of installing Bazel on CentOS platforms. However, the last successful build available for manylinux2014 has been Bazel 4, which is showing its age with the release of Bazel 6 coming up as of this commit. After this change, prebuilt Bazel binaries are downloaded using wget directly from the Bazel GitHub release page. Since Bazel is built for both x86 and arm64 on Linux, we immediately gain wheel build support for these architectures. However, since the architecture of the manylinux image is aarch64 instead of arm64, a shell script was added that normalizes aarch64 to arm64, and installs the correct arm64 Bazel binary if necessary.
14 lines
424 B
Bash
14 lines
424 B
Bash
if ! bazel version; then
|
|
arch=$(uname -m)
|
|
if [ "$arch" == "aarch64" ]; then
|
|
arch="arm64"
|
|
fi
|
|
echo "Installing wget and downloading $arch Bazel binary from GitHub releases."
|
|
yum install -y wget
|
|
wget "https://github.com/bazelbuild/bazel/releases/download/5.2.0/bazel-5.2.0-linux-$arch" -O /usr/local/bin/bazel
|
|
chmod +x /usr/local/bin/bazel
|
|
else
|
|
# bazel is installed for the correct architecture
|
|
exit 0
|
|
fi
|