GitHub Actions で CI している皆様、こんにちは。 GitHub Actions 便利ですよね。使わない日がないというくらい毎日お世話になっています。 さて、CI といえば良く問題になるのが実行時間。 長い待ち時間は開発効率を下げますし、プライベートリポジトリだと Runner の費用も嵩んでしまいます。 時間を短縮する方法は色々ありますが、一手目によく行われるのが依存パッケージのキャッシュじゃないかなと思います。 例えば Go で開発していると、依存
ymmt.hatenablog.com/entry/2024/10/02/222243
えっ、これやらかしてそうな気がするわ。あとで見直さないと。
まあよしなにやってくれるんだろうと思って、わたしもきちんと調べていなかったので有り難い記事でした。感謝
“なんとキャッシュはブランチ毎に名前空間が分かれて保存されるという仕様でした”
“なんとキャッシュはブランチ毎に名前空間が分かれて保存されるという仕様でした。” デプロイ専用のブランチで使用するのが良さそう
GitHub Actionsのキャッシュのこと全然知らなかった。
ブランチが変わるとそもそもCIに使われているVM設定が違う可能性があるし、異なるVM間で問題なくactions cacheを復元・利用できるかは怪しいので、ブランチごとに保存される設計なのはまあ安全に倒していて妥当という印象
これは罠…。
いい指摘
知らなかった
えっ、これやらかしてそうな気がするわ。あとで見直さないと。
“。”
これブランチごとじゃなくて依存関係変わらなければキャッシュ使ってよ、といつも思う。
大規模なリポジトリになると主にこの挙動が原因で10GBを超過してキャッシュを有効活用できてない事例を何度か見たことがあるので、CIが何か遅いと思ったらまずキャッシュ容量を疑うようになりました
なるほど
これブランチごとじゃなくて依存関係変わらなければキャッシュ使ってよ、といつも思う。