2022-07-21 GitHub Actionsでキャッシュされない罠 / GitHub ActionsでRuboCopのキャッシュを利用する
GitHub Actions でキャッシュされない罠 - Qiita
GitHub actions で actions/cache 使ってて、キャッシュの仕様についてあれ?ってなることが多いのでメモ。
key が同じだと、キャッシュ対象のファイルに変更があったとしても、キャッシュが上書きされないという点です。 つまり、一度正常で無い状態で保存されると、それ以降は更新(保存)されません。
キャッシュのキーが変わるように hashFiles('FilePath')
など使うなどして設定しておく必要がある。
GitHub ActionsでRuboCopのキャッシュを利用する - $shibayu36->blog;
rubocopでうまくキャッシュが効くようにするための設定について。
- cache-rubocop-hashhhhdummmmmmy1のようなキャッシュが作られているとする
- RuboCopのバージョンを更新すると、これまでのすべてのキャッシュが無効になる
- すべてのキャッシュが使えないため、RuboCopのチェックがフルで実行される
- 新しくできたキャッシュをActions側のキャッシュに入れようとするが、そちらのキャッシュキーが変わっていないとキャッシュ保存がスキップされてしまう
- 結果、古いキャッシュを使い続け、ずっとフル実行のままになってしまう
この問題にならないためには、RuboCopで全キャッシュが無効になるタイミングでは、必ずGitHub Actionsのキャッシュキーも変えておく必要があります。
油断するとキャッシュが効かなくなり一気に実行速度が落ちることがあるので注意したい。