Introduce optional gitCommitInfo as app-wide metadata.

This change adds an optional `gitCommitInfo` string to the app state,
which, if set by the GET_COMMIT_INFO environment variable when the
application is launched, will be displayed in the /about section. 

The `start.sh` and `build_package.sh` scripts set `GET_COMMIT_INFO` to
the most recent git commit's short hash if known, appending the string
"(local modifications)" if additional changes are detected beyond that
point.
This commit is contained in:
DeWitt Clinton
2025-05-27 08:17:40 -07:00
parent b3f52e215a
commit 43370ab0c5
8 changed files with 51 additions and 1 deletions

View File

@@ -20,6 +20,19 @@ if [[ $(pwd) != *"/packages/"* ]]; then
exit 1
fi
# Determine Git information
GIT_COMMIT_INFO="N/A"
if command -v git &> /dev/null && git rev-parse --is-inside-work-tree &> /dev/null; then
GIT_HASH=$(git rev-parse --short HEAD 2>/dev/null || echo "")
if [ -n "$GIT_HASH" ]; then
GIT_COMMIT_INFO="$GIT_HASH"
if [ -n "$(git status --porcelain)" ]; then
GIT_COMMIT_INFO="$GIT_COMMIT_INFO (local modifications)"
fi
fi
fi
export GIT_COMMIT_INFO
# clean dist directory
# rm -rf dist/*

View File

@@ -32,6 +32,19 @@ if [ -n "${DEBUG:-}" ] && ! scripts/sandbox_command.sh -q; then
fi
node_args+=("./packages/cli" "$@")
# Determine Git information
GIT_COMMIT_INFO="N/A"
if command -v git &> /dev/null && git rev-parse --is-inside-work-tree &> /dev/null; then
GIT_HASH=$(git rev-parse --short HEAD 2>/dev/null || echo "")
if [ -n "$GIT_HASH" ]; then
GIT_COMMIT_INFO="$GIT_HASH"
if [ -n "$(git status --porcelain)" ]; then
GIT_COMMIT_INFO="$GIT_COMMIT_INFO (local modifications)"
fi
fi
fi
# DEV=true to enable React Dev Tools (https://github.com/vadimdemedes/ink?tab=readme-ov-file#using-react-devtools)
# CLI_VERSION to display in the app ui footer
CLI_VERSION='development' DEV=true node "${node_args[@]}"
# GIT_COMMIT_INFO to display in the about box
GIT_COMMIT_INFO="${GIT_COMMIT_INFO}" CLI_VERSION='development' DEV=true node "${node_args[@]}"