diff --git a/docker/run.sh b/docker/run.sh index 7859fbc..2b58ca2 100644 --- a/docker/run.sh +++ b/docker/run.sh @@ -33,6 +33,8 @@ elif [[ $TOOL == "asan" ]]; then elif [[ $TOOL == "miri" ]]; then export RUSTFLAGS="$RUSTFLAGS -Zrandomize-layout -Cdebuginfo=1" export MIRIFLAGS="-Zmiri-disable-isolation -Zmiri-ignore-leaks -Zmiri-num-cpus=64" +elif [[ $TOOL == "check" ]]; then + export RUSTFLAGS="$RUSTFLAGS -Zthreads=64" fi export RUSTDOCFLAGS=$RUSTFLAGS diff --git a/src/run.rs b/src/run.rs index cbae269..1ee5830 100644 --- a/src/run.rs +++ b/src/run.rs @@ -22,6 +22,7 @@ const IGNORED_CRATES: &[&str] = &[ "stdweb", "wayland-raw-protocol-bindings", "pleingres", + "gdnative-bindings-lily", ]; #[derive(Parser, Clone)] @@ -111,7 +112,7 @@ pub async fn run(args: Args) -> Result<()> { let mut crates = build_crate_list(&args, &client).await?; if !args.rerun { let finished_crates = client - .list_finished_crates(Some(time::Duration::days(90))) + .list_finished_crates(Some(time::Duration::days(30))) .await?; crates.retain(|krate| { !finished_crates diff --git a/src/sync.rs b/src/sync.rs index 9c7a968..b09ff38 100644 --- a/src/sync.rs +++ b/src/sync.rs @@ -91,6 +91,7 @@ pub async fn run(args: Args) -> Result<()> { } async fn sync_all_html(client: Arc) -> Result> { + log::info!("Enumerating all finished crates"); let all = client.list_finished_crates(None).await?; log::info!("Re-rendering HTML for {} crates", all.len()); let mut tasks = JoinSet::new(); @@ -103,7 +104,7 @@ async fn sync_all_html(client: Arc) -> Result> { Vec::new(), 5, )))); - for krate in all { + for krate in all.into_iter().rev() { let limit = Arc::clone(&limit); let client = Arc::clone(&client); //let all_raw = Arc::clone(&all_raw); @@ -124,7 +125,6 @@ async fn sync_all_html(client: Arc) -> Result> { } */ - log::info!("Rendering {:?}", krate); let rendered = render::render_crate(&krate, &raw); /* let mut header = tar::Header::new_gnu(); @@ -143,8 +143,13 @@ async fn sync_all_html(client: Arc) -> Result> { } */ - let previous = client.download_html(&krate).await?; - if previous != rendered.as_bytes() { + let previous = client.download_html(&krate).await; + if let Ok(previous) = previous { + if previous != rendered.as_bytes() { + log::info!("Uploading {}@{}", krate.name, krate.version); + client.upload_html(&krate, rendered.into_bytes()).await?; + } + } else { log::info!("Uploading {}@{}", krate.name, krate.version); client.upload_html(&krate, rendered.into_bytes()).await?; }