Reduce duplicate Jeannie progress repaints
This commit is contained in:
parent
0cda6573ad
commit
d80960fce0
29
jeannie
29
jeannie
|
|
@ -823,13 +823,8 @@ jeannie_step_progress() {
|
||||||
local description="$1"
|
local description="$1"
|
||||||
local step_log="$2"
|
local step_log="$2"
|
||||||
local started_at="$3"
|
local started_at="$3"
|
||||||
|
local last_line="${4:-}"
|
||||||
local elapsed=$((SECONDS - started_at))
|
local elapsed=$((SECONDS - started_at))
|
||||||
local last_line=""
|
|
||||||
|
|
||||||
if [[ -s "${step_log}" ]]; then
|
|
||||||
last_line="$(tail -n 1 "${step_log}" 2>/dev/null || true)"
|
|
||||||
last_line="$(jeannie_compact_text "${last_line}" 88)"
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf '\r'
|
printf '\r'
|
||||||
jeannie_step_prefix "${description}"
|
jeannie_step_prefix "${description}"
|
||||||
|
|
@ -841,6 +836,17 @@ jeannie_step_progress() {
|
||||||
printf '\033[K'
|
printf '\033[K'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
jeannie_step_latest_progress_line() {
|
||||||
|
local step_log="$1"
|
||||||
|
local last_line=""
|
||||||
|
|
||||||
|
if [[ -s "${step_log}" ]]; then
|
||||||
|
last_line="$(tail -n 1 "${step_log}" 2>/dev/null || true)"
|
||||||
|
last_line="$(jeannie_compact_text "${last_line}" 88)"
|
||||||
|
fi
|
||||||
|
printf '%s' "${last_line}"
|
||||||
|
}
|
||||||
|
|
||||||
redact_sensitive_output() {
|
redact_sensitive_output() {
|
||||||
sed -E \
|
sed -E \
|
||||||
-e 's/(GITEA_BOOTSTRAP_PASSWORD=)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
|
-e 's/(GITEA_BOOTSTRAP_PASSWORD=)["'\'']?[^"'\''[:space:]]+["'\'']?/\1[REDACTED]/g' \
|
||||||
|
|
@ -862,6 +868,9 @@ run_step() {
|
||||||
local progress_pid
|
local progress_pid
|
||||||
local progress_interval="${JEANNIE_PROGRESS_INTERVAL_SECONDS:-10}"
|
local progress_interval="${JEANNIE_PROGRESS_INTERVAL_SECONDS:-10}"
|
||||||
local started_at
|
local started_at
|
||||||
|
local current_progress_line=""
|
||||||
|
local last_progress_line=""
|
||||||
|
local last_progress_rendered_at=0
|
||||||
shift
|
shift
|
||||||
|
|
||||||
JEANNIE_STEP_INDEX=$((JEANNIE_STEP_INDEX + 1))
|
JEANNIE_STEP_INDEX=$((JEANNIE_STEP_INDEX + 1))
|
||||||
|
|
@ -894,7 +903,13 @@ run_step() {
|
||||||
while kill -0 "${progress_pid}" >/dev/null 2>&1; do
|
while kill -0 "${progress_pid}" >/dev/null 2>&1; do
|
||||||
sleep "${progress_interval}"
|
sleep "${progress_interval}"
|
||||||
if kill -0 "${progress_pid}" >/dev/null 2>&1; then
|
if kill -0 "${progress_pid}" >/dev/null 2>&1; then
|
||||||
jeannie_step_progress "${description}" "${step_log}" "${started_at}"
|
current_progress_line="$(jeannie_step_latest_progress_line "${step_log}")"
|
||||||
|
if [[ "${current_progress_line}" != "${last_progress_line}" ]] ||
|
||||||
|
((SECONDS - last_progress_rendered_at >= 60)); then
|
||||||
|
jeannie_step_progress "${description}" "${step_log}" "${started_at}" "${current_progress_line}"
|
||||||
|
last_progress_line="${current_progress_line}"
|
||||||
|
last_progress_rendered_at="${SECONDS}"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
wait "${progress_pid}" || true
|
wait "${progress_pid}" || true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue