Include git hash in version

This commit is contained in:
Joscha 2023-08-04 15:44:29 +02:00
parent 6a64bd2e47
commit 9b55cd1ce2
4 changed files with 76 additions and 2 deletions

57
Cargo.lock generated
View file

@ -437,6 +437,12 @@ dependencies = [
"zeroize", "zeroize",
] ]
[[package]]
name = "deranged"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
[[package]] [[package]]
name = "digest" name = "digest"
version = "0.10.7" version = "0.10.7"
@ -1023,6 +1029,15 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "num_threads"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
dependencies = [
"libc",
]
[[package]] [[package]]
name = "object" name = "object"
version = "0.31.1" version = "0.31.1"
@ -1779,6 +1794,7 @@ dependencies = [
"tokio", "tokio",
"tracing", "tracing",
"tracing-subscriber", "tracing-subscriber",
"vergen",
"walkdir", "walkdir",
] ]
@ -1825,6 +1841,36 @@ dependencies = [
"once_cell", "once_cell",
] ]
[[package]]
name = "time"
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
dependencies = [
"deranged",
"itoa",
"libc",
"num_threads",
"serde",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
[[package]]
name = "time-macros"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
dependencies = [
"time-core",
]
[[package]] [[package]]
name = "tinyvec" name = "tinyvec"
version = "1.6.0" version = "1.6.0"
@ -2056,6 +2102,17 @@ version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "vergen"
version = "8.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbc5ad0d9d26b2c49a5ab7da76c3e79d3ee37e7821799f8223fcb8f2f391a2e7"
dependencies = [
"anyhow",
"rustversion",
"time",
]
[[package]] [[package]]
name = "version_check" name = "version_check"
version = "0.9.4" version = "0.9.4"

View file

@ -17,6 +17,7 @@ tracing = "0.1.37"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
[build-dependencies] [build-dependencies]
vergen = { version = "8.2.4", features = ["git", "gitcl"] }
walkdir = "2.3.3" walkdir = "2.3.3"
[profile.dev.package.sqlx-macros] [profile.dev.package.sqlx-macros]

View file

@ -45,6 +45,10 @@ fn copy_static_files() {
} }
fn main() { fn main() {
let mut builder = vergen::EmitBuilder::builder();
builder.git_describe(true, false, None);
builder.emit().unwrap();
watch_dir(MIGRATION_DIR.as_ref()); watch_dir(MIGRATION_DIR.as_ref());
watch_dir(STATIC_DIR.as_ref()); watch_dir(STATIC_DIR.as_ref());
watch_dir(TEMPLATE_DIR.as_ref()); watch_dir(TEMPLATE_DIR.as_ref());

View file

@ -7,9 +7,19 @@ use axum::{extract::State, http::StatusCode, routing::get, Router};
use clap::Parser; use clap::Parser;
use sqlx::SqlitePool; use sqlx::SqlitePool;
use state::AppState; use state::AppState;
use tracing::info;
use tracing_subscriber::filter::LevelFilter; use tracing_subscriber::filter::LevelFilter;
const NAME: &str = env!("CARGO_PKG_NAME");
const VERSION: &str = concat!(
env!("CARGO_PKG_VERSION"),
" (",
env!("VERGEN_GIT_DESCRIBE"),
")"
);
#[derive(Debug, clap::Parser)] #[derive(Debug, clap::Parser)]
#[command(name = NAME, version = VERSION)]
struct Args {} struct Args {}
fn set_up_logging() { fn set_up_logging() {
@ -37,9 +47,11 @@ async fn index(State(db): State<SqlitePool>) -> Result<Response, Response> {
} }
async fn run() -> anyhow::Result<()> { async fn run() -> anyhow::Result<()> {
set_up_logging();
let args = Args::parse(); let args = Args::parse();
set_up_logging();
info!("You are running {NAME} {VERSION}");
let state = AppState::new().await?; let state = AppState::new().await?;
let app = Router::new() let app = Router::new()