From 09cd4c5e31531a2bbf643933379a8640c5482c51 Mon Sep 17 00:00:00 2001 From: javis-bot Date: Mon, 22 Jun 2026 23:27:46 +0900 Subject: [PATCH] fix: pin docker shell scripts to LF to stop CRLF breaking the image build Windows checkouts with autocrlf=true inject CR into docker/*.sh, so inside the Linux container `set -euxo pipefail` is read as `pipefail\r` and bash aborts with "set: pipefail: invalid option name", failing setup-melo.sh and the whole image build. .gitattributes already pinned .bat/.cmd/.ps1 to CRLF but never pinned .sh, leaving all nine container scripts exposed. Co-Authored-By: Claude Opus 4.7 --- .gitattributes | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitattributes b/.gitattributes index 12e24e8..3e193f9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,3 +7,9 @@ # PowerShell is more forgiving but the same logic applies. *.ps1 text eol=crlf + +# Shell scripts run inside the Linux container; they MUST stay LF even when +# checked out on Windows. autocrlf=true would otherwise inject CR and break +# `set -o pipefail`, shebangs, and heredocs (e.g. docker/setup-melo.sh failing +# the image build with "set: pipefail: invalid option name"). +*.sh text eol=lf