Report a child that exited 1 as a warning, not an error
run_job.sh already grades runs as ok/warn/error by exit code, so a job that exited 1 recorded a warn while its log showed a red failure line — and the log is the louder of the two.
This commit is contained in:
@@ -2008,7 +2008,17 @@ run_orch_child() {
|
|||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
_ec=$?
|
_ec=$?
|
||||||
error "$label — failed (exit $_ec, $(format_duration $(( $(date +%s) - _start ))))"
|
# Match the severity ladder run_job.sh already records against: exit 1 is a warning,
|
||||||
|
# exit 2+ is an error. The status in the run record was always derived that way, so a
|
||||||
|
# child exiting 1 produced a run marked "warn" whose log was full of ❌ ERROR lines —
|
||||||
|
# and the log is the louder of the two. A job that skipped work it was told to skip read
|
||||||
|
# exactly like a job that broke.
|
||||||
|
#
|
||||||
|
# The label still lands in JOB_FAIL either way. Whether the child succeeded is a separate
|
||||||
|
# question from how loudly to report it, and the orchestrator's own exit code depends on
|
||||||
|
# the first one.
|
||||||
|
local _msg="$label — failed (exit $_ec, $(format_duration $(( $(date +%s) - _start ))))"
|
||||||
|
if (( _ec == 1 )); then warn "$_msg"; else error "$_msg"; fi
|
||||||
JOB_FAIL+=("$label")
|
JOB_FAIL+=("$label")
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user