mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-08 03:10:26 +00:00
fix(server): embed git SHA and build date in server binary
The server used option_env!() for FABRO_GIT_SHA and FABRO_BUILD_DATE, but no build.rs set them — so `fabro version` always showed "unknown". Add a build.rs to fabro-server (matching fabro-cli's) and remove the Sandbox line from `fabro system info`. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
a3320809ab
commit
d863b54ac0
3 changed files with 30 additions and 4 deletions
|
|
@ -66,10 +66,6 @@ pub(super) async fn info_command(
|
|||
.and_then(|runs| runs.active)
|
||||
.unwrap_or_default()
|
||||
);
|
||||
println!(
|
||||
"Sandbox: {}",
|
||||
response.sandbox_provider.as_deref().unwrap_or("unknown")
|
||||
);
|
||||
println!("Uptime: {}s", response.uptime_secs.unwrap_or_default());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -79,6 +79,9 @@ walkdir.workspace = true
|
|||
multer = "3"
|
||||
thiserror.workspace = true
|
||||
|
||||
[build-dependencies]
|
||||
chrono = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { workspace = true, features = ["test-util", "macros"] }
|
||||
tower = "0.5"
|
||||
|
|
|
|||
27
lib/crates/fabro-server/build.rs
Normal file
27
lib/crates/fabro-server/build.rs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#[expect(
|
||||
clippy::disallowed_methods,
|
||||
reason = "Build scripts run outside Tokio and need a synchronous git probe for the embedded build SHA."
|
||||
)]
|
||||
fn main() {
|
||||
println!("cargo:rerun-if-changed=../../../.git/HEAD");
|
||||
|
||||
let sha = std::process::Command::new("git")
|
||||
.args(["rev-list", "-1", "HEAD"])
|
||||
.output()
|
||||
.ok()
|
||||
.and_then(|o| {
|
||||
if o.status.success() {
|
||||
String::from_utf8(o.stdout)
|
||||
.ok()
|
||||
.map(|s| s.trim().to_string())
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.unwrap_or_default();
|
||||
let short_sha = if sha.len() >= 7 { &sha[..7] } else { &sha };
|
||||
println!("cargo:rustc-env=FABRO_GIT_SHA={short_sha}");
|
||||
|
||||
let build_date = chrono::Utc::now().format("%Y-%m-%d").to_string();
|
||||
println!("cargo:rustc-env=FABRO_BUILD_DATE={build_date}");
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue