From ca82b5246329e6ead3af994aadd6a922e705747b Mon Sep 17 00:00:00 2001 From: liurenjie1024 Date: Mon, 28 Jul 2025 18:28:45 +0800 Subject: [PATCH] Fix ci failure. --- .../testdata/rest_catalog/docker-compose.yaml | 2 +- .../testdata/docker-compose.yaml | 2 +- .../testdata/spark/entrypoint.sh | 6 ++-- crates/test_utils/src/cmd.rs | 10 ++++--- crates/test_utils/src/docker.rs | 29 ++++++++++++++++--- 5 files changed, 37 insertions(+), 12 deletions(-) diff --git a/crates/catalog/rest/testdata/rest_catalog/docker-compose.yaml b/crates/catalog/rest/testdata/rest_catalog/docker-compose.yaml index f69eceb9d5..9212be99ab 100644 --- a/crates/catalog/rest/testdata/rest_catalog/docker-compose.yaml +++ b/crates/catalog/rest/testdata/rest_catalog/docker-compose.yaml @@ -20,7 +20,7 @@ networks: services: rest: - image: apache/iceberg-rest-fixture + image: apache/iceberg-rest-fixture:1.9.2 environment: - AWS_ACCESS_KEY_ID=admin - AWS_SECRET_ACCESS_KEY=password diff --git a/crates/integration_tests/testdata/docker-compose.yaml b/crates/integration_tests/testdata/docker-compose.yaml index 7b4efebb26..f9851f3c71 100644 --- a/crates/integration_tests/testdata/docker-compose.yaml +++ b/crates/integration_tests/testdata/docker-compose.yaml @@ -20,7 +20,7 @@ networks: services: rest: - image: apache/iceberg-rest-fixture + image: apache/iceberg-rest-fixture:1.9.2 environment: - AWS_ACCESS_KEY_ID=admin - AWS_SECRET_ACCESS_KEY=password diff --git a/crates/integration_tests/testdata/spark/entrypoint.sh b/crates/integration_tests/testdata/spark/entrypoint.sh index 90db14d0b5..51ec329f03 100755 --- a/crates/integration_tests/testdata/spark/entrypoint.sh +++ b/crates/integration_tests/testdata/spark/entrypoint.sh @@ -22,10 +22,12 @@ set -e start-master.sh -p 7077 start-worker.sh spark://spark-iceberg:7077 -start-history-server.sh +echo "Starting provision" python3 ./provision.py +echo "Finished provisioning" touch /tmp/ready -tail -f /dev/null +echo "Print logs" +tail -f $SPARK_HOME/logs/* diff --git a/crates/test_utils/src/cmd.rs b/crates/test_utils/src/cmd.rs index 0e035888f6..e5e3f09e4b 100644 --- a/crates/test_utils/src/cmd.rs +++ b/crates/test_utils/src/cmd.rs @@ -17,16 +17,18 @@ use std::process::Command; -use tracing::info; +use tracing::{error, info}; -pub fn run_command(mut cmd: Command, desc: impl ToString) { +pub fn run_command(mut cmd: Command, desc: impl ToString) -> bool { let desc = desc.to_string(); info!("Starting to {}, command: {:?}", &desc, cmd); let exit = cmd.status().unwrap(); if exit.success() { - info!("{} succeed!", desc) + info!("{} succeed!", desc); + true } else { - panic!("{} failed: {:?}", desc, exit); + error!("{} failed: {:?}", desc, exit); + false } } diff --git a/crates/test_utils/src/docker.rs b/crates/test_utils/src/docker.rs index 832c22240e..1a6e883fde 100644 --- a/crates/test_utils/src/docker.rs +++ b/crates/test_utils/src/docker.rs @@ -84,13 +84,30 @@ impl DockerCompose { "1200000", ]); - run_command( + let ret = run_command( cmd, format!( "Starting docker compose in {}, project name: {}", self.docker_compose_dir, self.project_name ), - ) + ); + + if !ret { + 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", + self.project_name.as_str(), + "logs", + "spark-iceberg", + ]); + run_command(cmd, "Docker compose logs"); + panic!("Docker compose up failed!") + } } pub fn down(&self) { @@ -106,13 +123,17 @@ impl DockerCompose { "--remove-orphans", ]); - run_command( + let ret = run_command( cmd, format!( "Stopping docker compose in {}, project name: {}", self.docker_compose_dir, self.project_name ), - ) + ); + + if !ret { + panic!("Failed to stop docker compose") + } } pub fn get_container_ip(&self, service_name: impl AsRef) -> IpAddr {