From dd9220492b35baada18d4376d1e8db0da16d4a9d Mon Sep 17 00:00:00 2001 From: Ivan FB Date: Tue, 2 Jun 2026 08:57:08 +0200 Subject: [PATCH] ci: set core.autocrlf=false inside MSYS2 shell too The earlier autocrlf fix ran in a pwsh step, which only configures Git for Windows. nimble clones its dependency packages from the MSYS2 shell, whose git reads a separate global config, so autocrlf stayed enabled there. That kept altering dependency source trees, breaking their SHA1 match against nimble.lock (e.g. the nim package), so nimble re-downloaded and hung. Repeat the setting in an MSYS2-shell step so nimble's own git clones produce Linux-identical trees. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/windows-build.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 2b149c930..cb4670d6a 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -66,6 +66,17 @@ jobs: mingw-w64-x86_64-clang mingw-w64-x86_64-nasm + - name: Configure Git in MSYS2 to keep LF line endings + # The autocrlf=false above only configures Git for Windows. nimble clones + # its dependency packages from within the MSYS2 shell, whose git reads a + # separate global config ($HOME/.gitconfig under the MSYS2 root). Without + # repeating the setting here, CRLF conversion still alters dependency + # source trees, so their SHA1 no longer matches nimble.lock and nimble + # re-downloads (and hangs) on every invocation. + run: | + git config --global core.autocrlf false + git config --global core.eol lf + - name: Manually install nasm run: | bash scripts/install_nasm_in_windows.sh