[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"