1
0
mirror of https://git.ngram.ca/OpenJam/rc-servers synced 2026-08-23 23:08:52 +00:00

Add git commit hash to intercom status version reporting

This commit is contained in:
NG (Graham)
2026-02-08 11:18:25 -05:00
parent 93beb1b4e7
commit f1c6a5b707
13 changed files with 37 additions and 11 deletions

9
Cargo.lock generated
View File

@@ -2592,6 +2592,7 @@ dependencies = [
"chrono",
"clap",
"env_logger",
"git-version",
"log",
"oj_polariton_auth",
"oj_rc_core",
@@ -2627,6 +2628,7 @@ dependencies = [
"chrono",
"clap",
"env_logger",
"git-version",
"literustlib",
"literustlib_server",
"log",
@@ -2668,6 +2670,7 @@ dependencies = [
"clap",
"env_logger",
"futures",
"git-version",
"hex",
"libfj",
"log",
@@ -2704,6 +2707,7 @@ dependencies = [
"chrono",
"clap",
"env_logger",
"git-version",
"log",
"oj_polariton_auth",
"oj_rc_core",
@@ -2734,6 +2738,7 @@ dependencies = [
"chrono",
"clap",
"env_logger",
"git-version",
"log",
"oj_polariton_auth",
"oj_rc_core",
@@ -2745,9 +2750,7 @@ dependencies = [
[[package]]
name = "oj_serdes"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "986fe9d0d1382b2e04678db42e8e3754b8263203b590bfca72b18751250bbb72"
version = "0.3.0"
dependencies = [
"quick-xml",
"serde",

View File

@@ -49,5 +49,5 @@ rand = { version = "0.9", features = [ "thread_rng" ] }
num-quaternion = "1.0"
hex = "0.4"
base64 = "0.22"
#oj_serdes = { version = "0.2.0", path = "../oj_core/serdes" }
oj_serdes = "0.2.0"
oj_serdes = { version = "0.3.0", path = "../oj_core/serdes" }
#oj_serdes = "0.2.0"

View File

@@ -289,12 +289,15 @@ async fn do_connect_handshake(
}
pub async fn update_status(user_info: &dyn oj_rc_core::persist::user::IntercomUser) {
let version = env!("CARGO_PKG_VERSION");
let git_version = git_version::git_version!(args = ["--always", "--dirty=+"]);
let full_version = format!("{}:{}", version, git_version);
user_info.update_status(
env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(),
players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(),
version: full_version,
},
).await;
}

View File

@@ -18,5 +18,6 @@ polariton_server.workspace = true
oj_rc_core = { version = "*", path = "../rc_core" }
oj_rc_factory = { version = "*", path = "../rc_factory" }
async-trait.workspace = true
git-version.workspace = true
chrono.workspace = true
oj_serdes.workspace = true

View File

@@ -301,12 +301,15 @@ async fn do_connect_handshake(
}
pub async fn update_status(user_info: &dyn oj_rc_core::persist::user::IntercomUser) {
let version = env!("CARGO_PKG_VERSION");
let git_version = git_version::git_version!(args = ["--always", "--dirty=+"]);
let full_version = format!("{}:{}", version, git_version);
user_info.update_status(
env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(),
players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(),
version: full_version,
},
).await;
}

View File

@@ -20,6 +20,7 @@ chrono.workspace = true
atomic_float = "1.1"
num-quaternion.workspace = true
rand.workspace = true
git-version.workspace = true
literustlib_server = { version = "0.4", path = "../../LiteRustLib/server" }
literustlib = { version = "0.4", path = "../../LiteRustLib" }

View File

@@ -60,12 +60,15 @@ async fn main() -> std::io::Result<()> {
}
pub async fn update_status(user_info: &dyn oj_rc_core::persist::user::IntercomUser, player_count: u64) {
let version = env!("CARGO_PKG_VERSION");
let git_version = git_version::git_version!(args = ["--always", "--dirty=+"]);
let full_version = format!("{}:{}", version, git_version);
user_info.update_status(
env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(),
players: player_count,
version: env!("CARGO_PKG_VERSION").to_owned(),
version: full_version,
},
).await;
}

View File

@@ -24,5 +24,6 @@ oj_rc_core = { version = "*", path = "../rc_core" }
oj_rc_factory = { version = "*", path = "../rc_factory" }
rand.workspace = true
async-trait.workspace = true
git-version.workspace = true
libfj.workspace = true
oj_serdes.workspace = true

View File

@@ -313,12 +313,15 @@ async fn do_connect_handshake(
}
pub async fn update_status(user_info: &dyn oj_rc_core::persist::user::IntercomUser) {
let version = env!("CARGO_PKG_VERSION");
let git_version = git_version::git_version!(args = ["--always", "--dirty=+"]);
let full_version = format!("{}:{}", version, git_version);
user_info.update_status(
env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(),
players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(),
version: full_version,
},
).await;
}

View File

@@ -17,5 +17,6 @@ oj_polariton_auth = { version = "*", path = "../polariton_auth" }
polariton_server.workspace = true
oj_rc_core = { version = "*", path = "../rc_core" }
async-trait.workspace = true
git-version.workspace = true
chrono.workspace = true
oj_serdes.workspace = true

View File

@@ -291,12 +291,15 @@ async fn do_connect_handshake(
}
pub async fn update_status(user_info: &dyn oj_rc_core::persist::user::IntercomUser) {
let version = env!("CARGO_PKG_VERSION");
let git_version = git_version::git_version!(args = ["--always", "--dirty=+"]);
let full_version = format!("{}:{}", version, git_version);
user_info.update_status(
env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(),
players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(),
version: full_version,
},
).await;
}

View File

@@ -17,5 +17,6 @@ oj_polariton_auth = { version = "*", path = "../polariton_auth" }
polariton_server.workspace = true
oj_rc_core = { version = "*", path = "../rc_core" }
async-trait.workspace = true
git-version.workspace = true
chrono.workspace = true
oj_serdes.workspace = true

View File

@@ -276,12 +276,15 @@ async fn do_connect_handshake(
}
pub async fn update_status(user_info: &dyn oj_rc_core::persist::user::IntercomUser) {
let version = env!("CARGO_PKG_VERSION");
let git_version = git_version::git_version!(args = ["--always", "--dirty=+"]);
let full_version = format!("{}:{}", version, git_version);
user_info.update_status(
env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(),
players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(),
version: full_version,
},
).await;
}