openpencil/.gitattributes
Kayshen-X aef9b96480 fix(shell-native): enable winit Linux backends + LF line endings for cross-OS CI
Two unrelated CI failures on the P0 probe gate matrix, fixed together
because both gate the same workflow:

1. ubuntu-latest: winit 0.30 with `default-features = false` triggers
   `compile_error!("The platform you're compiling for is not supported by
   winit")` because no Linux backend (`x11` / `wayland`) is enabled.
   Adds explicit `["x11", "wayland", "wayland-csd-adwaita", "rwh_06"]`
   features so the prod skeleton dep compiles on every desktop OS.
   macOS / Windows backends auto-activate via `cfg(target_os)`, so they
   don't need explicit features.

2. windows-latest: `cargo fmt --check` failed with `Incorrect newline
   style` — actions/checkout normalized .rs files to CRLF on the
   Windows runner, but rustfmt.toml pins `newline_style = "Unix"`.
   Adds `.gitattributes` enforcing `eol=lf` on all text (and explicit
   `*.rs` / `*.toml`) so checkouts stay LF on every platform.

Both fixes are minimal and scoped to the P0 probe gate. The transient
dev-dep block (skia-safe / glutin / glow / etc.) is unchanged.
2026-05-05 12:23:05 +08:00

22 lines
524 B
Text

# Force LF on all text files when checking out (so cross-OS rustfmt
# `newline_style = "Unix"` stays green on Windows runners). Without this
# Windows checkout normalizes to CRLF, breaking `cargo fmt --all -- --check`.
* text=auto eol=lf
# Rust sources must remain LF — explicit override.
*.rs text eol=lf
*.toml text eol=lf
# Binary files Git should not touch.
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.webp binary
*.ico binary
*.icns binary
*.pdf binary
*.zip binary
*.gz binary
*.tar binary
*.bin binary