From c24bc0a011e29a5555d666276582c1c5cfcac3f2 Mon Sep 17 00:00:00 2001 From: glenn schrooyen Date: Tue, 25 Aug 2026 16:01:44 +0200 Subject: [PATCH] Pin LF, because the deployment target is a Linux container core.autocrlf=true gave the checkout CRLF .py and .yaml. run.sh happened to be LF, which is the only reason a plain copy would not have produced a "bad interpreter" failure on the add-on's entrypoint. 0.3.0 was deployed by extracting from git with autocrlf forced off and verified byte-identical to the blobs before copying. This makes that the default rather than something the deployer has to remember. Co-Authored-By: Claude Opus 5 --- .gitattributes | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d9b2706 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,10 @@ +# This add-on is deployed to a Linux container. core.autocrlf=true on the +# authoring box gave the checkout CRLF, so a plain copy shipped CRLF files - +# run.sh with CRLF is a "bad interpreter" failure, and any hash-based drift +# check between repo and deployment fails for a reason that has nothing to do +# with the code. Deploy with: +# git -c core.autocrlf=false archive release/1.0 goodwe_controller | tar -x +# which is how 0.3.0 went out, byte-identical to the blobs. +* text=auto eol=lf +*.png binary +*.gz binary