diff --git a/scripts/generate-version.sh b/scripts/generate-version.sh index 8bc33a58c7..c468884a0d 100755 --- a/scripts/generate-version.sh +++ b/scripts/generate-version.sh @@ -5,6 +5,16 @@ GIT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown") GIT_DESCRIBE=$(git describe --tags --always --dirty 2>/dev/null || echo "unknown") TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ") +# If the build runs in a dirty git checkout, `git describe --dirty` includes "-dirty". +# This extra output helps debug CI/release builds that end up stamped as dirty. +if git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git rev-parse --verify HEAD >/dev/null 2>&1; then + if ! git diff-index --quiet HEAD -- 2>/dev/null; then + echo "⚠️ Git checkout is dirty; version will be stamped with '-dirty'." + echo "Tracked dirty files:" + git diff-index --name-only HEAD -- | sed 's/^/ - /' + fi +fi + cat >src/version.ts <