feat(tvix/glue): report progress on all fetches, use progress bars

This should also report progress on fetches which we couldn't delay
until actually having to IO into them, like `builtins.fetchurl` calls
without a upfront-provided hash.

While at it, upgrade the progress spinners to progress bars, which
increment if we know the size of the fetch.

Change-Id: Ic3f332286d8bc2177f3d994ba25b165728d4b702
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11797
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: aspen <root@gws.fyi>
This commit is contained in:
Florian Klink 2024-06-13 10:26:35 +03:00 committed by clbot
parent 7ee55c293c
commit 99c5a2e8bc
3 changed files with 41 additions and 14 deletions

View file

@ -7,7 +7,6 @@ use crate::{
};
use nix_compat::nixhash;
use std::rc::Rc;
use tracing::info;
use tvix_eval::builtin_macros::builtins;
use tvix_eval::generators::Gen;
use tvix_eval::generators::GenCo;
@ -112,8 +111,6 @@ pub(crate) mod fetcher_builtins {
}
None => {
// If we don't have enough info, do the fetch now.
info!(?fetch, "triggering required fetch");
let (store_path, _root_node) = state
.tokio_handle
.block_on(async { state.fetcher.ingest_and_persist(&name, fetch).await })