[CI] Make ci-clean-log.sh portable to macOS/BSD sed (#57367)

Signed-off-by: khluu <khluu000@gmail.com>

Kevin H. Luu committed Sep 17, 2026 at 05:42 UTC f46968cb6e28ff89182bfa6fc291b4f851ab07d1
1 file changed +12 -3
.buildkite/scripts/ci-clean-log.sh
+12 -3
@@ -10,11 +10,20 @@ fi
10
11 INPUT_FILE="$1"
12
13 +# GNU sed uses "-i [-r]" while BSD/macOS sed needs "-i '' [-E]"; detect once.
14 +if sed --version >/dev/null 2>&1; then
15 + sedi() { sed -i "$@"; }
16 + SED_ERE=-r
17 +else
18 + sedi() { sed -i '' "$@"; }
19 + SED_ERE=-E
20 +fi
21 +
22 # Strip timestamps
14 -sed -i 's/^\[[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}T[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}Z\] //' "$INPUT_FILE"
23 +sedi 's/^\[[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}T[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}Z\] //' "$INPUT_FILE"
24
25 # Strip Buildkite inline timestamp markers (ESC _bk;t=<ms> BEL)
17 -sed -i 's/\x1B_bk;t=[0-9]*\x07//g' "$INPUT_FILE"
26 +sedi 's/\x1B_bk;t=[0-9]*\x07//g' "$INPUT_FILE"
27
28 # Strip colorization
20 -sed -i -r 's/\x1B\[[0-9;]*[mK]//g' "$INPUT_FILE"
29 +sedi "$SED_ERE" 's/\x1B\[[0-9;]*[mK]//g' "$INPUT_FILE"