Perform artifact discovery in sequential

Run different `fetcher.find()` in sequential
This commit is contained in:
Jiahao XU 2024-06-22 05:08:34 +00:00
parent ebdca1126e
commit 658a71bc3c

View file

@ -97,7 +97,7 @@ async fn resolve_inner(
_ => None, _ => None,
}; };
let mut handles: Vec<(Arc<dyn Fetcher>, _)> = Vec::with_capacity( let mut handles: Vec<Arc<dyn Fetcher>> = Vec::with_capacity(
desired_targets.len() * resolvers.len() desired_targets.len() * resolvers.len()
+ if binary_name.is_some() { + if binary_name.is_some() {
desired_targets.len() desired_targets.len()
@ -140,7 +140,7 @@ async fn resolve_inner(
opts.signature_policy, opts.signature_policy,
); );
filter_fetcher_by_name_predicate(fetcher.fetcher_name()) filter_fetcher_by_name_predicate(fetcher.fetcher_name())
.then_some((fetcher.clone(), AutoAbortJoinHandle::new(fetcher.find()))) .then_some(fetcher)
}), }),
) )
}; };
@ -165,9 +165,9 @@ async fn resolve_inner(
); );
} }
for (fetcher, handle) in handles { for fetcher in handles {
fetcher.clone().report_to_upstream(); fetcher.clone().report_to_upstream();
match handle.flattened_join().await { match AutoAbortJoinHandle::new(fetcher.clone().find()).flattened_join().await {
Ok(true) => { Ok(true) => {
// Generate temporary binary path // Generate temporary binary path
let bin_path = opts.temp_dir.join(format!( let bin_path = opts.temp_dir.join(format!(