GitHub Actionsのサードパーティアクションのバージョン指定について
自分はRenovateでサードパーティアクションのバージョンを更新している(指定方法は主にv1.1.0
というような感じ)
しかし、下記ドキュメントで言及されているように、バージョン指定は「コミットSHAで指定するのが安全」となっている
GitHub Actions のセキュリティ強化 - GitHub Docs
ただコミットSHAだと設定ファイル読んだときに分かりづらいし、ちょっと微妙だなと思っていた
コメントとかで該当バージョンの指定があれば運用できるかも?ということで調べてみたらRenovateにオプションが存在した
pinDigest
Automated Dependency Updates for Github Actions - Renovate Docs | Renovate Docs
pinするときにDigest(Actionsの場合はコミットSHA)指定とバージョン記述の両方を行ってくれる
extends
にhelpers:pinGitHubActionDigests
を含めるだけ
- renovate.json
{ "extends": [ "config:base", "helpers:pinGitHubActionDigests" ], "labels": ["renovate"] }
もう少し調べてみる
extendsに指定していることから、Renovateのpresetsで提供しているということがわかった
Renovateが提供しているpresetsは下記
renovate/lib/config/presets/internal at main · renovatebot/renovate
今回のhelpers
renovate/lib/config/presets/internal/helpers.ts at main · renovatebot/renovate
あった
実態は
pinDigests: true,
らしい
この設定を行えば、helpersを使わなくてもコミットSHAでpinしてくれるようになるはず
もとはDockerで用いられていたみたい
実際のPR
実際にhelpersを設定してPR出してみた
https://github.com/swfz/github-actions-sample/pull/65github.com
ばっちり