From cdb8f3ca6dc9d44fc753e5468e5759188d69fa50 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 23 Sep 2026 23:50:32 +0200 Subject: [PATCH] Keep the native digest list and manifest LF on every checkout Soul found that on a Windows clone (core.autocrlf=true) SHA256SUMS and MANIFEST.txt were written with CRLF, so the documented `sha256sum -c SHA256SUMS` failed on every line: each filename ended in \r. CI stayed green only because it checks out on Linux. After this rule and a fresh checkout, the check passes on Starfire for all four binaries. Provenance, recorded here because verify-committed only checks the committed files against the committed sums: run 35912901846 rebuilt all four binaries from scratch after they were committed, and every artifact is byte-identical to the committed file (libmsquic.so.2 c09a72f9..., libgamecult_mesh_quic_native.so 0ee3d283..., msquic.dll c17c6581..., gamecult_mesh_quic_native.dll 9dae391a...). Two independent CI builds produce the same bytes, which shows both where they came from and that the build is reproducible. Self edited this one-line config directly instead of dispatching Hands. Co-Authored-By: Claude Opus 5.5 --- .gitattributes | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitattributes b/.gitattributes index 5943963a..e75b066c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -22,3 +22,10 @@ packages/cultmesh-ts/native/**/*.dll binary packages/cultmesh-ts/native/**/*.so binary packages/cultmesh-ts/native/**/*.so.* binary + +# The digest list and manifest beside them keep LF on every checkout. Left to +# `text=auto`, a Windows clone writes them with carriage returns, and the +# documented `sha256sum -c SHA256SUMS` then fails on every line (each filename +# ends in `\r`) while CI, checking out on Linux, stays green. +packages/cultmesh-ts/native/SHA256SUMS text eol=lf +packages/cultmesh-ts/native/MANIFEST.txt text eol=lf