CIが失敗する原因とは
Date2026/08/04 Last Modified2026/08/07
概要
Laravelの案件にて。
Github workflowsに、git pushしたときの自動テストを導入しました。
あるとき、ローカルでのテストが通っていたのにCIテストだけ失敗する状態になったので、その状況を調査しました。
よくあるミス
-
ローカルファイルを参照している CSVサンプルをダウンロードさせる機能のテストで.gitignoreに指定しているファイルを参照していたという事例です。
そもそもCSVサンプルをダウンロードさせるよりカラムを生成したほうが良い気もします。 -
画面表示に関するビルド不足 Actionsには標準でViteの環境がないので、ビルド済みファイルを上げるか、Vite環境を構築する必要がありました。
ビルド済みファイルを上げると環境を作る必要はないですが、ファイル一式が重くなります。
目的から考えてみると、ビルド後を見たいのではなくて、単にテキストが表示されているかを確認したかっただけなので、ビルドの結果を参照する必要はありませんでした。
そのため、テストファイルにwithoutVite()を追加することで対応できました。 -
SQL構文の違いによるエラー ローカルではSQLiteを使っていて、CI環境ではMySQLを使っているという違いがありました。
これにより一部の構文が使えなかったので、条件分岐させました。