From e86356e9ca24cf2d2d12a5ece5e31ce13f464da0 Mon Sep 17 00:00:00 2001 From: liurenjie1024 Date: Mon, 15 Jul 2024 21:27:54 +0800 Subject: [PATCH] fix: Hms test on macos should use correct arch --- crates/catalog/hms/testdata/hms_catalog/Dockerfile | 4 +++- .../hms/testdata/hms_catalog/docker-compose.yaml | 1 + .../datafusion/testdata/docker-compose.yaml | 1 + .../datafusion/testdata/hms_catalog/Dockerfile | 2 +- crates/test_utils/src/docker.rs | 13 +++++++++++++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/crates/catalog/hms/testdata/hms_catalog/Dockerfile b/crates/catalog/hms/testdata/hms_catalog/Dockerfile index ff8c9fae63..8392e174a8 100644 --- a/crates/catalog/hms/testdata/hms_catalog/Dockerfile +++ b/crates/catalog/hms/testdata/hms_catalog/Dockerfile @@ -13,7 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM openjdk:8-jre-slim AS build +FROM --platform=$BUILDPLATFORM openjdk:8-jre-slim AS build + +ARG BUILDPLATFORM RUN apt-get update -qq && apt-get -qq -y install curl diff --git a/crates/catalog/hms/testdata/hms_catalog/docker-compose.yaml b/crates/catalog/hms/testdata/hms_catalog/docker-compose.yaml index b9afac47ee..181fac149a 100644 --- a/crates/catalog/hms/testdata/hms_catalog/docker-compose.yaml +++ b/crates/catalog/hms/testdata/hms_catalog/docker-compose.yaml @@ -41,6 +41,7 @@ services: hive-metastore: image: iceberg-hive-metastore build: ./ + platform: ${DOCKER_DEFAULT_PLATFORM} expose: - 9083 environment: diff --git a/crates/integrations/datafusion/testdata/docker-compose.yaml b/crates/integrations/datafusion/testdata/docker-compose.yaml index 2445fc21f4..be915ab205 100644 --- a/crates/integrations/datafusion/testdata/docker-compose.yaml +++ b/crates/integrations/datafusion/testdata/docker-compose.yaml @@ -41,6 +41,7 @@ services: hive-metastore: image: iceberg-hive-metastore build: ./hms_catalog/ + platform: ${DOCKER_DEFAULT_PLATFORM} expose: - 9083 environment: diff --git a/crates/integrations/datafusion/testdata/hms_catalog/Dockerfile b/crates/integrations/datafusion/testdata/hms_catalog/Dockerfile index ff8c9fae63..abece560e5 100644 --- a/crates/integrations/datafusion/testdata/hms_catalog/Dockerfile +++ b/crates/integrations/datafusion/testdata/hms_catalog/Dockerfile @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM openjdk:8-jre-slim AS build +FROM --platform=$BUILDPLATFORM openjdk:8-jre-slim AS build RUN apt-get update -qq && apt-get -qq -y install curl diff --git a/crates/test_utils/src/docker.rs b/crates/test_utils/src/docker.rs index df3c754392..3247fc96e5 100644 --- a/crates/test_utils/src/docker.rs +++ b/crates/test_utils/src/docker.rs @@ -39,10 +39,23 @@ impl DockerCompose { self.project_name.as_str() } + fn get_os_arch() -> String { + let mut cmd = Command::new("docker"); + cmd.arg("info") + .arg("--format") + .arg("{{.OSType}}/{{.Architecture}}"); + + get_cmd_output(cmd, "Get os arch".to_string()) + .trim() + .to_string() + } + pub fn run(&self) { let mut cmd = Command::new("docker"); cmd.current_dir(&self.docker_compose_dir); + cmd.env("DOCKER_DEFAULT_PLATFORM", Self::get_os_arch()); + cmd.args(vec![ "compose", "-p",