Skip to content

fix(build): preserve LF for shell entrypoints - #1272

Open
xumian520 wants to merge 3 commits into
DeusData:mainfrom
xumian520:fix/wsl-shell-line-endings
Open

fix(build): preserve LF for shell entrypoints#1272
xumian520 wants to merge 3 commits into
DeusData:mainfrom
xumian520:fix/wsl-shell-line-endings

Conversation

@xumian520

Copy link
Copy Markdown

What does this PR do?

Preserve LF checkout semantics for shell entrypoints so Windows clones with core.autocrlf=true can run repository scripts directly from WSL or MSYS. Without this rule, the shebang can be checked out as CRLF and fail with env: $'bash\r': No such file or directory.

This adds a shell line-ending contract test and runs it before the compiler-heavy suite. The test checks all tracked *.sh files and shell hook entrypoints with git check-attr.

Validation

  • bash tests/test_shell_line_endings.sh: 60/60 entrypoints passed
  • bash scripts/build.sh: passed
  • Version smoke test: codebase-memory-mcp dev
  • git diff --check: passed
  • Full suite: 6,614 passed / 6 failed / 4 skipped. The six failures are unrelated WSL/DrvFs/test-infrastructure failures, so this does not claim a fully green local suite.

Checklist

  • Every commit is signed off (git commit -s) — required, CI rejects unsigned commits (DCO, see CONTRIBUTING.md)
  • Tests pass locally (make -f Makefile.cbm test)
  • Lint passes (make -f Makefile.cbm lint-ci)
  • New behavior is covered by a test (reproduce-first for bug fixes)

Signed-off-by: xumian520 <126989134+xumian520@users.noreply.github.com>
Signed-off-by: xumian520 <126989134+xumian520@users.noreply.github.com>
Signed-off-by: xumian520 <126989134+xumian520@users.noreply.github.com>
@xumian520
xumian520 requested a review from DeusData as a code owner July 26, 2026 07:11
@DeusData DeusData added the bug Something isn't working label Jul 28, 2026
@DeusData DeusData added this to the 0.9.1-rc milestone Jul 28, 2026
@DeusData DeusData added ux/behavior Display bugs, docs, adoption UX windows Windows-specific issues priority/high Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker. labels Jul 28, 2026
@DeusData

DeusData commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Thank you for the contribution and for adding a regression contract around LF shell entrypoints on Windows checkouts. This is now triaged as a high-priority Windows build bug for 0.9.1-rc. Our community PR queue is currently quite full, so it may take a little time before we can complete the review and, if approved, merge it. We are doing our best to support community contributions and will return with code-grounded feedback as capacity opens.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority/high Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker. ux/behavior Display bugs, docs, adoption UX windows Windows-specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants