GitHub Actions に cache-mode が入り、ワークフローまたはジョブごとにキャッシュへの最小権限を指定できる。信頼済みワークフローへのキャッシュ汚染を抑えつつ、不要な restore/save を止められる。github.com の全プランで一般提供。

モード:

  • read: restore のみ(pull_request_target など低信頼イベントの既定)
  • write: restore と save(push など信頼イベントの既定)
  • write-only: save のみ
  • none: キャッシュ利用なし

ジョブ指定がワークフロー指定より優先する。キャッシュサービス側で強制され、reusable workflow では呼び出し側より広い権限を受け取らない。明示した cache-mode は低信頼イベントの読み取り専用既定を上書きする。write / write-only を低信頼イベントに付けると汚染リスクが上がるため、Actions は警告アノテーションを付ける。未設定のワークフローは従来の安全な既定のまま。

許可されない操作はキャッシュステップが情報ログを出して続行し、ジョブは失敗しない。restore 省略はミス扱い、save 省略は単に保存しない。

#参考文献