fix(install): report semantic server version

This commit is contained in:
Brad Stein 2026-04-26 00:27:43 -03:00
parent 538c3e778d
commit 78c000785b
2 changed files with 19 additions and 5 deletions

View File

@ -11,6 +11,16 @@ REF=${LESAVKA_REF:-master} # fallback
REPO_URL=${LESAVKA_REPO_URL:-}
USER_HOME=$(getent passwd "$ORIG_USER" | cut -d: -f6)
manifest_package_version() {
local manifest=$1
[[ -f $manifest ]] || return 1
awk -F'"' '
$0 ~ /^\[package\]/ { in_package=1; next }
in_package && $0 ~ /^\[/ { exit }
in_package && $0 ~ /^[[:space:]]*version[[:space:]]*=/ { print $2; exit }
' "$manifest"
}
udc_state() {
local udc=""
udc=$(ls /sys/class/udc 2>/dev/null | head -n1 || true)
@ -614,12 +624,12 @@ else
fi
sudo systemctl restart lesavka-server
INSTALLED_VERSION=$(/usr/local/bin/lesavka-server --version 2>/dev/null | head -n1 || true)
INSTALLED_VERSION=$(manifest_package_version "$SRC_DIR/server/Cargo.toml" 2>/dev/null || true)
INSTALLED_SHA=$(git -C "$SCRIPT_REPO_ROOT" rev-parse --short HEAD 2>/dev/null || true)
echo "✅ lesavka-server installed and restarted..."
if [[ -n $INSTALLED_VERSION || -n $INSTALLED_SHA ]]; then
echo "➡️ Installed: ${INSTALLED_VERSION:-lesavka-server}${INSTALLED_SHA:+ ($INSTALLED_SHA)}"
echo "➡️ Installed: lesavka-server ${INSTALLED_VERSION:-unknown}${INSTALLED_SHA:+ ($INSTALLED_SHA)}"
fi
echo "➡️ Status: sudo systemctl status lesavka-server --no-pager"
echo "➡️ Logs: sudo journalctl -u lesavka-server -f --no-pager"
echo "✅ Installed version: ${INSTALLED_VERSION:-lesavka-server}${INSTALLED_SHA:+ ($INSTALLED_SHA)}"
echo "✅ Installed version: lesavka-server ${INSTALLED_VERSION:-unknown}${INSTALLED_SHA:+ ($INSTALLED_SHA)}"

View File

@ -47,8 +47,12 @@ fn server_install_reports_installed_version_and_revision() {
"install script should print the installed build identity at the end"
);
assert!(
SERVER_INSTALL.contains("lesavka-server --version"),
"install script should query the installed binary version"
SERVER_INSTALL.contains("manifest_package_version"),
"install script should read the package version from the synced source manifest"
);
assert!(
SERVER_INSTALL.contains("\"$SRC_DIR/server/Cargo.toml\""),
"install script should report the server package semver from the server manifest"
);
assert!(
SERVER_INSTALL.contains("git -C \"$SCRIPT_REPO_ROOT\" rev-parse --short HEAD"),