fix(tvix/glue/tvix_store_io): distinguish waiting and building

We immediately reported "Building", even though then populated necessary
inputs, which looked a bit odd. Make it clear we're still waiting, and
update the spinner message once we have all inputs we were waiting for.

In the future, we might want to have separate spans for this, so the
timer gets reset, but that's something for later.

Change-Id: Ic22c9a906d0e7e7179c5ee328162401261efc224
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11799
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
This commit is contained in:
Florian Klink 2024-06-13 10:40:48 +03:00 committed by clbot
parent 99c5a2e8bc
commit 7f29cab1cc

View file

@ -182,7 +182,7 @@ impl TvixStoreIO {
let span = Span::current(); let span = Span::current();
span.pb_start(); span.pb_start();
span.pb_set_style(&tvix_tracing::PB_SPINNER_STYLE); span.pb_set_style(&tvix_tracing::PB_SPINNER_STYLE);
span.pb_set_message(&format!("🔨Building {}", &store_path)); span.pb_set_message(&format!("⏳Waiting for inputs {}", &store_path));
// derivation_to_build_request needs castore nodes for all inputs. // derivation_to_build_request needs castore nodes for all inputs.
// Provide them, which means, here is where we recursively build // Provide them, which means, here is where we recursively build
@ -242,6 +242,8 @@ impl TvixStoreIO {
.try_collect() .try_collect()
.await?; .await?;
span.pb_set_message(&format!("🔨Building {}", &store_path));
// TODO: check if input sources are sufficiently dealth with, // TODO: check if input sources are sufficiently dealth with,
// I think yes, they must be imported into the store by other // I think yes, they must be imported into the store by other
// operations, so dealt with in the Some(…) match arm // operations, so dealt with in the Some(…) match arm