From 20f0fd3d7a542ecdd831b1e5d60e24321b8d398e Mon Sep 17 00:00:00 2001 From: Adrien Cacciaguerra Date: Thu, 13 Feb 2025 17:12:45 +0100 Subject: [PATCH 1/2] feat(upload): bail when performance report s3 upload does not work --- src/run/uploader/upload.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/run/uploader/upload.rs b/src/run/uploader/upload.rs index b02375ab..9131cb2d 100644 --- a/src/run/uploader/upload.rs +++ b/src/run/uploader/upload.rs @@ -78,7 +78,7 @@ async fn upload_archive_buffer( archive_buffer: Vec, archive_hash: &String, ) -> Result<()> { - REQUEST_CLIENT + let response = REQUEST_CLIENT .put(upload_data.upload_url.clone()) .header("Content-Type", "application/gzip") .header("Content-Length", archive_buffer.len()) @@ -87,6 +87,17 @@ async fn upload_archive_buffer( .send() .await?; + if !response.status().is_success() { + let status = response.status(); + let error_text = response.text().await?; + bail!( + "Failed to upload performance report: {}\n -> {} {}", + status, + style("Reason:").bold(), + style(error_text).red() + ); + } + Ok(()) } From d786670098fb3e985a25304c1820008e88b5b8bb Mon Sep 17 00:00:00 2001 From: Adrien Cacciaguerra Date: Thu, 13 Feb 2025 17:19:09 +0100 Subject: [PATCH 2/2] fix(upload): catch server error as well as client in upload error handling --- src/run/uploader/upload.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/run/uploader/upload.rs b/src/run/uploader/upload.rs index 9131cb2d..06c61937 100644 --- a/src/run/uploader/upload.rs +++ b/src/run/uploader/upload.rs @@ -44,7 +44,7 @@ async fn retrieve_upload_data( match response { Ok(response) => { - if response.status().is_client_error() { + if !response.status().is_success() { let status = response.status(); let text = response.text().await?; let mut error_message = serde_json::from_str::(&text)