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

View File

@@ -49,5 +49,5 @@ rand = { version = "0.9", features = [ "thread_rng" ] }
num-quaternion = "1.0" num-quaternion = "1.0"
hex = "0.4" hex = "0.4"
base64 = "0.22" base64 = "0.22"
#oj_serdes = { version = "0.2.0", path = "../oj_core/serdes" } oj_serdes = { version = "0.3.0", path = "../oj_core/serdes" }
oj_serdes = "0.2.0" #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) { 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( user_info.update_status(
env!("CARGO_PKG_NAME"), env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus { oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(), 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), players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(), version: full_version,
}, },
).await; ).await;
} }

View File

@@ -18,5 +18,6 @@ polariton_server.workspace = true
oj_rc_core = { version = "*", path = "../rc_core" } oj_rc_core = { version = "*", path = "../rc_core" }
oj_rc_factory = { version = "*", path = "../rc_factory" } oj_rc_factory = { version = "*", path = "../rc_factory" }
async-trait.workspace = true async-trait.workspace = true
git-version.workspace = true
chrono.workspace = true chrono.workspace = true
oj_serdes.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) { 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( user_info.update_status(
env!("CARGO_PKG_NAME"), env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus { oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(), 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), players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(), version: full_version,
}, },
).await; ).await;
} }

View File

@@ -20,6 +20,7 @@ chrono.workspace = true
atomic_float = "1.1" atomic_float = "1.1"
num-quaternion.workspace = true num-quaternion.workspace = true
rand.workspace = true rand.workspace = true
git-version.workspace = true
literustlib_server = { version = "0.4", path = "../../LiteRustLib/server" } literustlib_server = { version = "0.4", path = "../../LiteRustLib/server" }
literustlib = { version = "0.4", path = "../../LiteRustLib" } 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) { 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( user_info.update_status(
env!("CARGO_PKG_NAME"), env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus { oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(), uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(),
players: player_count, players: player_count,
version: env!("CARGO_PKG_VERSION").to_owned(), version: full_version,
}, },
).await; ).await;
} }

View File

@@ -24,5 +24,6 @@ oj_rc_core = { version = "*", path = "../rc_core" }
oj_rc_factory = { version = "*", path = "../rc_factory" } oj_rc_factory = { version = "*", path = "../rc_factory" }
rand.workspace = true rand.workspace = true
async-trait.workspace = true async-trait.workspace = true
git-version.workspace = true
libfj.workspace = true libfj.workspace = true
oj_serdes.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) { 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( user_info.update_status(
env!("CARGO_PKG_NAME"), env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus { oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(), 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), players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(), version: full_version,
}, },
).await; ).await;
} }

View File

@@ -17,5 +17,6 @@ oj_polariton_auth = { version = "*", path = "../polariton_auth" }
polariton_server.workspace = true polariton_server.workspace = true
oj_rc_core = { version = "*", path = "../rc_core" } oj_rc_core = { version = "*", path = "../rc_core" }
async-trait.workspace = true async-trait.workspace = true
git-version.workspace = true
chrono.workspace = true chrono.workspace = true
oj_serdes.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) { 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( user_info.update_status(
env!("CARGO_PKG_NAME"), env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus { oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(), 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), players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(), version: full_version,
}, },
).await; ).await;
} }

View File

@@ -17,5 +17,6 @@ oj_polariton_auth = { version = "*", path = "../polariton_auth" }
polariton_server.workspace = true polariton_server.workspace = true
oj_rc_core = { version = "*", path = "../rc_core" } oj_rc_core = { version = "*", path = "../rc_core" }
async-trait.workspace = true async-trait.workspace = true
git-version.workspace = true
chrono.workspace = true chrono.workspace = true
oj_serdes.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) { 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( user_info.update_status(
env!("CARGO_PKG_NAME"), env!("CARGO_PKG_NAME"),
oj_serdes::ServerStatus { oj_serdes::ServerStatus {
uptime_s: (chrono::Utc::now().timestamp() - crate::START_TIMESTAMP_S.load(std::sync::atomic::Ordering::Relaxed)).try_into().unwrap_or_default(), 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), players: ONLINE_USERS.load(std::sync::atomic::Ordering::SeqCst),
version: env!("CARGO_PKG_VERSION").to_owned(), version: full_version,
}, },
).await; ).await;
} }