From 18436dfc21fb1c35fbb73ba19f3b4eef50bd7232 Mon Sep 17 00:00:00 2001 From: gusto Date: Wed, 30 Nov 2022 10:45:22 +0200 Subject: [PATCH] Set GOCACHE variable to off for crates.io (#25) * Set GOCACHE variable to off for crates.io * Modify GOCACHE only for crates.io builds --- waku-sys/build.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/waku-sys/build.rs b/waku-sys/build.rs index 838b0e0..4193d36 100644 --- a/waku-sys/build.rs +++ b/waku-sys/build.rs @@ -34,16 +34,25 @@ fn build_go_waku_lib(go_bin: &str, project_dir: &Path) { let out_dir: PathBuf = env::var_os("OUT_DIR").unwrap().into(); let vendor_path = project_dir.join("vendor"); set_current_dir(vendor_path).expect("Moving to vendor dir"); - Command::new(go_bin) - .env("CGO_ENABLED", "1") + + let mut cmd = Command::new(go_bin); + cmd.env("CGO_ENABLED", "1") .arg("build") .arg("-buildmode=c-archive") .arg("-o") .arg(out_dir.join("libgowaku.a")) - .arg("./library") - .status() + .arg("./library"); + + // Setting `GOCACHE=/tmp/` for crates.io job that builds documentation + // when a crate is being published or updated. + if std::env::var("DOCS_RS").is_ok() { + cmd.env("GOCACHE", "/tmp/"); + } + + cmd.status() .map_err(|e| println!("cargo:warning=go build failed due to: {}", e)) .unwrap(); + set_current_dir(project_dir).expect("Going back to project dir"); }