From 2ca91d571539b4d5ec00b77dfbbe8166a29bb1ef Mon Sep 17 00:00:00 2001 From: Wim Looman Date: Sat, 6 Mar 2021 11:39:03 +0100 Subject: [PATCH] Lock queue if updating toolchain fails Reduces the impact from failures like #1305, rather than continuing to build crates with the failing toolchain we will just stop building crates until an admin has time to investigate the cause. --- src/docbuilder/queue.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/docbuilder/queue.rs b/src/docbuilder/queue.rs index 66600dd02..ac4ad3185 100644 --- a/src/docbuilder/queue.rs +++ b/src/docbuilder/queue.rs @@ -87,6 +87,12 @@ impl DocBuilder { .map(|r| PackageKind::Registry(r.as_str())) .unwrap_or(PackageKind::CratesIo); + if let Err(err) = builder.update_toolchain() { + log::error!("Updating toolchain failed, locking queue: {}", err); + self.lock()?; + return Err(err); + } + builder.build_package(&krate.name, &krate.version, kind)?; Ok(()) })?;