fix: make build number display!

This commit is contained in:
Radical 2025-05-30 21:11:13 +02:00
parent aa37571b3b
commit 746285e0fb
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,16 @@
use std::process::Command;
fn main() { fn main() {
println!("cargo:rerun-if-changed=migrations"); println!("cargo:rerun-if-changed=migrations");
let git_short_hash = Command::new("git")
.args(["rev-parse", "--short", "HEAD"])
.output()
.ok()
.and_then(|o| String::from_utf8(o.stdout).ok())
.map(|s| s.trim().to_string()) // Trim newline
.unwrap_or_else(|| "UNKNOWN".to_string());
// Tell Cargo to set `GIT_SHORT_HASH` for the main compilation
println!("cargo:rustc-env=GIT_SHORT_HASH={}", git_short_hash);
} }

View file

@ -12,6 +12,7 @@ use crate::error::Error;
use crate::schema::users::dsl::{users, uuid}; use crate::schema::users::dsl::{users, uuid};
const VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION"); const VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION");
const GIT_SHORT_HASH: &str = env!("GIT_SHORT_HASH");
#[derive(Serialize)] #[derive(Serialize)]
struct Response { struct Response {
@ -57,7 +58,7 @@ pub async fn res(data: web::Data<Data>) -> Result<HttpResponse, Error> {
registration_enabled: data.config.instance.registration, registration_enabled: data.config.instance.registration,
email_verification_required: data.config.instance.require_email_verification, email_verification_required: data.config.instance.require_email_verification,
// TODO: Get build number from git hash or remove this from the spec // TODO: Get build number from git hash or remove this from the spec
build_number: String::from("how do i implement this?"), build_number: String::from(GIT_SHORT_HASH),
}; };
Ok(HttpResponse::Ok().json(response)) Ok(HttpResponse::Ok().json(response))