Unverified Commit bed8b335 authored by Nathan Barry's avatar Nathan Barry Committed by GitHub
Browse files

feat: Add --version flag to dynamo-run (#1596)

parent 611722d1
......@@ -1683,6 +1683,7 @@ dependencies = [
"tracing",
"tracing-subscriber",
"uuid 1.16.0",
"vergen-gitcl",
]
[[package]]
......@@ -7162,6 +7163,43 @@ dependencies = [
"uuid 0.8.2",
]
[[package]]
name = "vergen"
version = "9.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b2bf58be11fc9414104c6d3a2e464163db5ef74b12296bda593cac37b6e4777"
dependencies = [
"anyhow",
"derive_builder",
"rustversion",
"vergen-lib",
]
[[package]]
name = "vergen-gitcl"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9dfc1de6eb2e08a4ddf152f1b179529638bedc0ea95e6d667c014506377aefe"
dependencies = [
"anyhow",
"derive_builder",
"rustversion",
"time",
"vergen",
"vergen-lib",
]
[[package]]
name = "vergen-lib"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b07e6010c0f3e59fcb164e0163834597da68d1f864e2b8ca49f74de01e9c166"
dependencies = [
"anyhow",
"derive_builder",
"rustversion",
]
[[package]]
name = "version-compare"
version = "0.2.0"
......
......@@ -50,3 +50,7 @@ clap = { version = "4.5", features = ["derive", "env"] }
dialoguer = { version = "0.11", default-features = false, features = ["editor", "history"] }
futures-util = { version = "0.3" }
regex = "1"
[build-dependencies]
vergen-gitcl = "1.0"
anyhow = { workspace = true }
......@@ -15,14 +15,23 @@
use std::env;
use std::process::Command;
use vergen_gitcl::{Emitter, GitclBuilder};
fn main() {
fn main() -> anyhow::Result<()> {
if has_cuda_toolkit() && !has_feature("cuda") && is_cuda_engine() {
println!("cargo:warning=CUDA not enabled, re-run with `--features cuda`");
}
if is_mac() && !has_feature("metal") {
println!("cargo:warning=Metal not enabled, re-run with `--features metal`");
}
let git_config = GitclBuilder::default()
.describe(true, false, None)
.build()?;
Emitter::default().add_instructions(&git_config)?.emit()?;
Ok(())
}
fn has_feature(s: &str) -> bool {
......
......@@ -82,6 +82,13 @@ async fn wrapper(runtime: dynamo_runtime::Runtime) -> anyhow::Result<()> {
println!("{usage}");
println!("{HELP}");
return Ok(());
} else if args[0] == "--version" {
if let Some(describe) = option_env!("VERGEN_GIT_DESCRIBE") {
println!("dynamo-run {}", describe);
} else {
println!("Version not available (git describe not available)");
}
return Ok(());
}
for arg in env::args().skip(1).take(2) {
let Some((in_out, val)) = arg.split_once('=') else {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment