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.
This commit is contained in:
Hmbown
2026-08-05 01:18:49 -07:00
parent b6f21cf893
commit f07b096340

12
.gitattributes vendored
View File

@@ -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