From f07b096340c59ac44926ba5b79d2da415df3880d Mon Sep 17 00:00:00 2001 From: Hmbown <101357273+Hmbown@users.noreply.github.com> Date: Wed, 5 Aug 2026 01:18:49 -0700 Subject: [PATCH] fix(ci): keep the include_str! assets on LF so Windows matches `Test (windows-latest)` failed `codewhale-telemetry` `golden_payload_v1` with a diff that was nothing but \r\n vs \n. The golden is pulled in with include_str!() and compared byte for byte against serde_json::to_string_pretty output, which always emits LF, so the `* text=auto` default corrupted it on a Windows checkout. This file already documents that hazard for the prompt assets; the newer include_str!() inputs (telemetry golden, bundled catalogs and skills under crates/*/assets, the locale packs, the workflow scripts) had never been added. The others survived only because they are parsed or substring-matched rather than compared exactly. `git add --renormalize .` reports no content change: every one of these is already stored with LF, so this only affects what Windows checks out. --- .gitattributes | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitattributes b/.gitattributes index b9db4344e..cbcea2c8b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,6 +7,18 @@ crates/tui/src/prompts/**/*.md text eol=lf crates/tui/src/prompts/*.md text eol=lf crates/tui/src/prompts/*.txt text eol=lf +# The rest of the include_str!() inputs. `* text=auto` below converts these to +# CRLF on a Windows checkout, which is invisible for the ones that are only +# parsed or substring-matched and fatal for the one that is compared byte for +# byte: crates/telemetry/tests/golden/v1.json is asserted against +# serde_json::to_string_pretty output, which always emits LF, so Windows CI +# failed `golden_payload_v1` with a pure \r\n diff. +crates/telemetry/tests/golden/*.json text eol=lf +crates/*/assets/**/*.json text eol=lf +crates/*/assets/**/*.md text eol=lf +crates/*/locales/*.json text eol=lf +workflows/*.js text eol=lf + # Rustfmt writes LF; keep Rust sources stable across Windows/Linux/macOS. *.rs text eol=lf