CI/CD
PR

【GitHub】actions/setup-goで「Restore cache failed」の警告が出る時の対処法

saratogax
記事内に商品プロモーションを含む場合があります

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.modgo.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 の非推奨警告もよく見かけます。あわせて対処しておくと、実行ログがすっきりしますよ。

参考(出典)

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました