From 0dc02b8354c5a28531f92628efbe2f60d2372943 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Fri, 8 Dec 2023 21:38:28 +0200 Subject: [PATCH] Log Zed build sha in release builds. Also ensure that curl commands for nightly uploads return 200 (fail otherwise). --- crates/zed2/build.rs | 18 ++++++++++++++---- script/upload-nightly | 2 +- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/crates/zed2/build.rs b/crates/zed2/build.rs index 619f248029..101838b8af 100644 --- a/crates/zed2/build.rs +++ b/crates/zed2/build.rs @@ -27,10 +27,20 @@ fn main() { // Populate git sha environment variable if git is available if let Ok(output) = Command::new("git").args(["rev-parse", "HEAD"]).output() { if output.status.success() { - println!( - "cargo:rustc-env=ZED_COMMIT_SHA={}", - String::from_utf8_lossy(&output.stdout).trim() - ); + let git_sha = String::from_utf8_lossy(&output.stdout); + let git_sha = git_sha.trim(); + + println!("cargo:rustc-env=ZED_COMMIT_SHA={git_sha}"); + + if let Ok(build_profile) = std::env::var("PROFILE") { + if build_profile == "release" { + // This is currently the best way to make `cargo build ...`'s build script + // to print something to stdout without extra verbosity. + println!( + "cargo:warning=Info: using '{git_sha}' hash for ZED_COMMIT_SHA env var" + ); + } + } } } } diff --git a/script/upload-nightly b/script/upload-nightly index 073976a335..f03b2f7fd8 100755 --- a/script/upload-nightly +++ b/script/upload-nightly @@ -20,7 +20,7 @@ function uploadToSpaces string="PUT\n\n${content_type}\n${date}\n${acl}\n${storage_type}\n/${SPACE}/${space_path}/${file_name}" signature=$(echo -en "${string}" | openssl sha1 -hmac "${DIGITALOCEAN_SPACES_SECRET_KEY}" -binary | base64) - curl -vv -s -X PUT -T "$file_to_upload" \ + curl --fail -vv -s -X PUT -T "$file_to_upload" \ -H "Host: ${SPACE}.${REGION}.digitaloceanspaces.com" \ -H "Date: $date" \ -H "Content-Type: $content_type" \