installer: tolerate missing duration on finish

This commit is contained in:
Ryan Hughes committed 2026-05-23 05:29:53 -04:00
1 parent 1d656af51d
commit fd12ace8bc
2 files changed
+24 -2

No files matched your search

+21
View File
@@ -75,6 +75,19 @@ LOG
EOF
chmod +x "$success_worker"
no_duration_worker="$tmp/no-duration-worker"
cat >"$no_duration_worker" <<EOF
#!/usr/bin/env bash
set -euo pipefail
state="\$1"
mkdir -p "\$(dirname "\$state")"
python - "\$state" "Validating boot setup" <<'PY'
$write_state_py
PY
sleep 0.2
EOF
chmod +x "$no_duration_worker"
fail_worker="$tmp/fail-worker"
cat >"$fail_worker" <<EOF
#!/usr/bin/env bash
@@ -98,6 +111,14 @@ OMARCHY_UI_AUTO_REBOOT=no OMARCHY_PATH="$OMARCHY_PATH_FOR_TEST" script -qfec \
assert_contains "$success_capture" "Installing Omarchy"
assert_contains "$success_capture" "Installed in 1m 40s"
no_duration_state="$tmp/no-duration-state.json"
no_duration_log="$tmp/no-duration.log"
no_duration_capture="$tmp/no-duration.capture"
OMARCHY_UI_AUTO_REBOOT=no OMARCHY_PATH="$OMARCHY_PATH_FOR_TEST" script -qfec \
"$DASHBOARD '$no_duration_log' '$no_duration_state' -- '$no_duration_worker' '$no_duration_state'" \
"$no_duration_capture" >/dev/null
assert_contains "$no_duration_capture" "Finished installing"
fail_state="$tmp/fail-state.json"
fail_log="$tmp/fail.log"
fail_capture="$tmp/fail.capture"
@@ -267,9 +267,10 @@ install_duration() {
[[ -n $line ]] || continue
duration="${line#*:}"
duration="${duration#${duration%%[![:space:]]*}}"
[[ -n $duration ]] && { printf '%s' "$duration"; return; }
[[ -n $duration ]] && { printf '%s' "$duration"; return 0; }
done
done
return 0
}
render_finish() {
@@ -281,7 +282,7 @@ render_finish() {
else
render_logo >"$TTY_PATH"
fi
duration="$(install_duration)"
duration="$(install_duration || true)"
message="Finished installing"
[[ -n $duration ]] && message="Installed in $duration"
{