From 982a04246b53e13f4d2c14f3b1ea32274036420c Mon Sep 17 00:00:00 2001 From: Nicolas Patry Date: Mon, 1 May 2023 16:11:44 +0200 Subject: [PATCH] Burn cargo version within binary. --- .gitignore | 1 + launcher/build.rs | 12 +++++++++++- launcher/src/env_cli.rs | 11 +---------- launcher/src/versions.rs | 1 - 4 files changed, 13 insertions(+), 12 deletions(-) delete mode 100644 launcher/src/versions.rs diff --git a/.gitignore b/.gitignore index 19604d42..fe0157d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea target router/tokenizer.json +launcher/src/versions.rs diff --git a/launcher/build.rs b/launcher/build.rs index 3d7b7c2d..83cbd6c8 100644 --- a/launcher/build.rs +++ b/launcher/build.rs @@ -2,13 +2,23 @@ use std::fs::File; use std::io::Write; use std::process::Command; +pub fn cargo_version() -> Option { + let output = Command::new("cargo").args(&["version"]).output().ok()?; + let output = String::from_utf8(output.stdout).ok()?; + Some(output.trim().to_string()) +} + fn main() { let output = Command::new("git") .args(&["rev-parse", "HEAD"]) .output() .unwrap(); let git_hash = String::from_utf8(output.stdout).unwrap().trim().to_string(); + + let cargo_version = cargo_version().unwrap_or("N/A".to_string()); let mut file = File::create("src/versions.rs").unwrap(); - file.write(format!(r#"pub static GIT_HASH: &str = "{git_hash}";"#).as_bytes()) + file.write(format!("pub static GIT_HASH: &str = \"{git_hash}\";\n").as_bytes()) + .unwrap(); + file.write(format!(r#"pub static CARGO_VERSION: &str = "{cargo_version}";"#).as_bytes()) .unwrap(); } diff --git a/launcher/src/env_cli.rs b/launcher/src/env_cli.rs index e2e9d01c..55436dad 100644 --- a/launcher/src/env_cli.rs +++ b/launcher/src/env_cli.rs @@ -7,12 +7,6 @@ pub fn nvidia_smi() -> Option { Some(output.trim().to_string()) } -pub fn cargo_version() -> Option { - let output = Command::new("cargo").args(&["version"]).output().ok()?; - let output = String::from_utf8(output.stdout).ok()?; - Some(output.trim().to_string()) -} - pub fn docker_image() -> Option { let output = Command::new("docker") .args(&[ @@ -29,10 +23,7 @@ pub fn docker_image() -> Option { } pub fn print_env() { - println!( - "Cargo version: {}", - cargo_version().unwrap_or("N/A".to_string()) - ); + println!("Cargo version: {}", crate::versions::CARGO_VERSION); println!("Commit SHA: {}", crate::versions::GIT_HASH); println!( "Docker image sha: {}", diff --git a/launcher/src/versions.rs b/launcher/src/versions.rs deleted file mode 100644 index 669e58ec..00000000 --- a/launcher/src/versions.rs +++ /dev/null @@ -1 +0,0 @@ -pub static GIT_HASH: &str = "61fd8c3c014d9ea31bc1df736fd276606ce29d66"; \ No newline at end of file