← Dev log
EduQate·infrastructure

Windows checkouts breaking shell scripts

A Windows checkout gives shell scripts CRLF line endings and sh refuses to run them, so Dockerfiles had to sed-strip carriage returns.

Two copies drifted

One idea kept by hand in two places — schema and migration, dev and prod, app and app.

Dev entrypoints had to be sed-stripped of carriage returns in the Dockerfiles, because a Windows checkout gives them CRLF line endings and sh won't run them. The mobile npm scripts have the mirror-image problem: they use Windows set VAR=...&& syntax and won't run as-is on Linux or macOS.

Both are the same root cause — a two-machine workflow across Windows and Linux — and neither is fixed properly, just worked around at each end.