-
Notifications
You must be signed in to change notification settings - Fork 31
Description
Enhancement Request
Improve progress message handling while running ci action.
The earlier SingleLineProgressWriter implementation throws an exception if it encounters multi-line input. This behavior enforces that callers “know” whether they’re writing multi-line or single-line progress messages, based on the capabilities exposed by IProgressWriter::isMultiLineSupported(). However, this design can lead to unexpected errors if callers or actions pass strings that unintentionally contain newline characters.
This issue proposes revisiting the current design to evaluate potential improvements in how single-line progress output handles such cases.
The current behavior ensures that when multi-line data is passed and IProgressWriter::isMultiLineSupported() is false, line-breaks are replaced by spaces (refer AbstractActionStepProcessor::asSingleLineString()). This prevents exceptions and ensures that the progress display stays single-line, even if the message content originally included newlines.
We must revisit the progress writer to have unified way of handling single-line and multi-line progress writers.