[CI] Used dockcross/manylinux2014-aarch64 for aarach64 artifact docker images (#38084)

Use `dockcross/manylinux2014-aarch64` for aarch64 artifact docker images to improve portability. Also existing docker images are updated to use the latest instead of pinned image.

Closes #38084

PiperOrigin-RevId: 694241161
test_685282781
Esun Kim 2 weeks ago committed by Copybara-Service
parent 0148b49aea
commit 0672a7a951
  1. 2
      templates/tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64/Dockerfile.template
  2. 4
      tools/bazelify_tests/dockerimage_current_versions.bzl
  3. 2
      tools/bazelify_tests/test/BUILD
  4. 29
      tools/bazelify_tests/test/build_artifact_protoc_linux_aarch64.sh
  5. 2
      tools/dockerfile/grpc_artifact_protoc_aarch64.current_version
  6. 2
      tools/dockerfile/grpc_artifact_protoc_aarch64/Dockerfile
  7. 2
      tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64.current_version
  8. 2
      tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64/Dockerfile

@ -16,7 +16,7 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64/Dockerfile.template`!!!
FROM dockcross/manylinux2014-aarch64:20240812-60fa1b0
FROM dockcross/manylinux2014-aarch64
# manylinux_2_17 is the preferred alias of manylinux2014
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH

@ -62,9 +62,9 @@ DOCKERIMAGE_CURRENT_VERSIONS = {
"tools/dockerfile/distribtest/ruby_ubuntu2204_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/ruby_ubuntu2204_x64@sha256:3f0558a0164bd7d41dfdb3d5635951503181bd619fce9ce8d390bdc675444eb3",
"tools/dockerfile/grpc_artifact_centos6_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_centos6_x64@sha256:3285047265ea2b7c5d4df4c769b2d05f56288d947c75e16d27ae2dee693f791b",
"tools/dockerfile/grpc_artifact_centos6_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_centos6_x86@sha256:19783239da92208f0f39cf563529cd02e889920497ef81c60d20391fa998af62",
"tools/dockerfile/grpc_artifact_protoc_aarch64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_protoc_aarch64@sha256:a0f6b544c1b2fa75f73b26cb28281917153304e9df2789e93de0732494e6b651",
"tools/dockerfile/grpc_artifact_protoc_aarch64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_protoc_aarch64@sha256:c3a6556d0e9153574279e998b0ff03eb8b49221a3b87704c23409287fae5131a",
"tools/dockerfile/grpc_artifact_python_linux_armv7.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_linux_armv7@sha256:137616275fe59bf89849f7503779f9a5d9668dbf395fcc79a8221a8c38fa5bac",
"tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64@sha256:ad3233be3c3ad9e0c4b60f0176a853713a35e5c84ec9d9703996c67fa3e811b6",
"tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64@sha256:263ea79d940c905233624b02751194474408338b0f5ae2fb822966b2f20f47ce",
"tools/dockerfile/grpc_artifact_python_manylinux2014_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x64@sha256:0e102df67f31aeb6afe68250603288c2f1c98ccf360d1c42d751b8451da94b48",
"tools/dockerfile/grpc_artifact_python_manylinux2014_x86.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_x86@sha256:527e2e9ec4db0c52a53b50abfd59907a1b7e221168dc401686f6a48d33bddc5c",
"tools/dockerfile/grpc_artifact_python_musllinux_1_1_x64.current_version": "docker://us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_musllinux_1_1_x64@sha256:94b57e5ea31ebc29af734474bcaff3074770778e5d27557cdc06d755ee8bc7ed",

@ -254,7 +254,7 @@ grpc_build_artifact_task(
grpc_build_artifact_task(
name = "artifact_protoc_linux_aarch64",
build_script = "build_artifact_protoc_linux.sh",
build_script = "build_artifact_protoc_linux_aarch64.sh",
docker_image_version = "tools/dockerfile/grpc_artifact_protoc_aarch64.current_version",
)

@ -0,0 +1,29 @@
#!/bin/bash
# Copyright 2024 The gRPC Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -ex
# compile/link options extracted from ProtocArtifact in tools/run_tests/artifacts/artifact_targets.py
export LDFLAGS="${LDFLAGS} -static-libgcc -static-libstdc++ -s"
# set build parallelism to fit the machine configuration of bazelified tests RBE pool.
export GRPC_PROTOC_BUILD_COMPILER_JOBS=8
# Without this cmake find the c++ compiler
# find better solution to prevent bazel from restricting path contents
export PATH="/opt/rh/devtoolset-10/root/usr/bin:/usr/xcc/aarch64-unknown-linux-gnu/bin:$PATH"
mkdir -p artifacts
env
ARTIFACTS_OUT=artifacts tools/run_tests/artifacts/build_artifact_protoc.sh

@ -1 +1 @@
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_protoc_aarch64:be8fc962f6a27ce976abecbda3dd02be4be5683d@sha256:a0f6b544c1b2fa75f73b26cb28281917153304e9df2789e93de0732494e6b651
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_protoc_aarch64:43936fd124972cc6459315069ab6c2218fd2dfb3@sha256:c3a6556d0e9153574279e998b0ff03eb8b49221a3b87704c23409287fae5131a

@ -13,7 +13,7 @@
# limitations under the License.
# On aarch64 the protoc and codegen plugins are built via crosscompilation.
FROM dockcross/linux-arm64
FROM dockcross/manylinux2014-aarch64
RUN git config --global --add safe.directory /var/local/jenkins/grpc
RUN git config --global protocol.file.allow always

@ -1 +1 @@
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64:377f694f92dd1b56dff0b0a0f47d6e731200953c@sha256:ad3233be3c3ad9e0c4b60f0176a853713a35e5c84ec9d9703996c67fa3e811b6
us-docker.pkg.dev/grpc-testing/testing-images-public/grpc_artifact_python_manylinux2014_aarch64:9e30b45140ef4e1641262913d0df200b6c18b5e8@sha256:263ea79d940c905233624b02751194474408338b0f5ae2fb822966b2f20f47ce

@ -14,7 +14,7 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/tools/dockerfile/grpc_artifact_python_manylinux2014_aarch64/Dockerfile.template`!!!
FROM dockcross/manylinux2014-aarch64:20240812-60fa1b0
FROM dockcross/manylinux2014-aarch64
# manylinux_2_17 is the preferred alias of manylinux2014
ENV AUDITWHEEL_PLAT manylinux_2_17_$AUDITWHEEL_ARCH

Loading…
Cancel
Save