改行コードの違いでWindowsのCIだけが失敗していた
DRANK

タイトルも悩ましい。あらすじことの顛末はこう。OXCでフォーマッターを実装してるスナップショットテストで、CLIを実行してその結果を保存してるフォーマット済みのファイルにCLIを実行して、差分が出ないことを確認してるケースがあったそれがWindowsでだけ、なぜか差分が生まれてしまってCIが失敗するという事象があり。原因Windowsだけという時点で、まあだいたい<CRLF>のせいだろうとは思ってたけど、ズバリだった。GitHubのCIが、Windows環境でファイルを取得してきたときに、自動的に改行コードを<CRLF>にしてしまうのが原因。そのため、フォーマッターが動いてその<CRLF>を<LF>に戻してしまい、差分があるよ!となる。解決: .gitattributesを置く* text=auto eol=lfこれですべてのファイルが<LF>になって、余計な心配をしなくてよくなる。Configuring Git to handle line endings - GitHub Docs text=auto eol=lfPrettierでもBiomeでも、これがちゃんと指定されてた。ほんと<CRLF>にはいい思い出がな〜い。

leaysgur.github.io
Related Topics: Continuous Integration