【GitHub】actions/setup-goで「Restore cache failed」の警告が出る時の対処法
actions の workflow で、setup-go@v4 を利用しているところに以下の警告が。
Restore cache failed: Dependencies file is not found in /home/runner/work/hoge. Supported file pattern: go.sum
今回は、この警告を出さなくする対応を考えていきます。
この記事は setup-go@v4 当時に書いたものですが、内蔵キャッシュの仕組みと対処法(cache: false / cache-dependency-path)は現行の v6 でも変わらず有効です。コード例は現行バージョンに合わせて更新しています。
キャッシュ復元のエラー原因
どうやら、setup-go@v4 からはキャッシュ機構が内蔵されたようで、デフォルトで有効になっています(現行の v6 でも既定で有効です)。
go.sum が存在するディレクトリ配下では問題ないのですが、別のディレクトリで setup-go@v4 を実行すると上記の警告が発生します。
キャッシュを無効化する
キャッシュが不要な場合は、キャッシュを無効化することで対処できます。
例えば、以下のようにキャッシュを明示的に false にします。
- uses: actions/setup-go@v6
with:
go-version: '1.24'
cache: false
キャッシュを有効にしてパスを指定する
リポジトリの構成にもよりますが、直下にない場合は以下の「cache-dependency-path」でパスを指定しましょう。
キャッシュキーに go.sum のハッシュが使用されている都合上、go.sum のあるディレクトリを指定することは避けられないですからね。
なお現行の v6 では、既定で go.mod のハッシュをキャッシュキーに使うようになっています。go.mod や go.sum がリポジトリ直下にない構成では、いずれにせよこの cache-dependency-path で明示するのが確実です。
cache-dependency-path
具体的には以下のように記述します。
- uses: actions/setup-go@v6
with:
go-version: '1.24'
cache: true
cache-dependency-path: hoge/fuga
GitHub Actions のログに出るその他の警告では、set-output と save-state の非推奨警告もよく見かけます。あわせて対処しておくと、実行ログがすっきりしますよ。
