From 5254c13aaa86a4ffa034882199433b82e2e457d6 Mon Sep 17 00:00:00 2001 From: Elizabeth Engelman <4752801+elizabethengelman@users.noreply.github.com> Date: Fri, 16 Aug 2024 13:39:26 -0400 Subject: [PATCH] Print status messages when pulling quickstart image (#1546) * Print status messages when pulling quickstart image * Logging when there is no internet connection --------- Co-authored-by: Leigh McCulloch <351529+leighmcculloch@users.noreply.github.com> --- .../src/commands/network/container/start.rs | 39 +++++++++++++------ cmd/soroban-cli/src/print.rs | 1 + 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/cmd/soroban-cli/src/commands/network/container/start.rs b/cmd/soroban-cli/src/commands/network/container/start.rs index 73c80893d..a4d840f0f 100644 --- a/cmd/soroban-cli/src/commands/network/container/start.rs +++ b/cmd/soroban-cli/src/commands/network/container/start.rs @@ -82,17 +82,34 @@ impl Runner { let docker = self.args.container_args.connect_to_docker().await?; let image = self.get_image_name(); - docker - .create_image( - Some(CreateImageOptions { - from_image: image.clone(), - ..Default::default() - }), - None, - None, - ) - .try_collect::>() - .await?; + let mut stream = docker.create_image( + Some(CreateImageOptions { + from_image: image.clone(), + ..Default::default() + }), + None, + None, + ); + + while let Some(result) = stream.try_next().await.transpose() { + if let Ok(item) = result { + if let Some(status) = item.status { + if status.contains("Pulling from") + || status.contains("Digest") + || status.contains("Status") + { + self.print.infoln(status); + } + } + } else { + self.print + .warnln(format!("Failed to fetch image: {image}.")); + self.print.warnln( + "Attempting to start local quickstart image. The image may be out-of-date.", + ); + break; + } + } let config = Config { image: Some(image), diff --git a/cmd/soroban-cli/src/print.rs b/cmd/soroban-cli/src/print.rs index fd1eb3d58..ca95f652c 100644 --- a/cmd/soroban-cli/src/print.rs +++ b/cmd/soroban-cli/src/print.rs @@ -88,3 +88,4 @@ create_print_functions!(info, infoln, "ℹī¸"); create_print_functions!(link, linkln, "🔗"); create_print_functions!(save, saveln, "💾"); create_print_functions!(search, searchln, "🔎"); +create_print_functions!(warn, warnln, "⚠ī¸");