組織のプライベートリポジトリのGitHub ActionをDependabotで更新する
先日、GitHubのアップデートによりプライベートリポジトリのAction,Reusable Workflow,Composite Action を同一オーナーのプライベートリポジトリから使えるようになりました。
これは、
OrganizationにプライベートなActionを用意して集中管理できるようになった
ことを意味します。
集中管理するようになったら、その更新も自動化したいですよね?
この記事では、DependabotにプライベートリポジトリのActionの更新プルリクエストを作成してもらうための設定を紹介します。
1. プライベートリポジトリのActionを有効にし、Actionを作成する
プライベートリポジトリでActionを使うには設定が必要です。
kokiさんが書いた、
GitHub Actions でプライベートリポジトリの Action を共有できるようになったので試してみる
がわかりやすかったので参照して設定してください。
workflow内で以下のように使用できるようになります。
steps:
- uses: ${org}/${repo}/${directory}@v0.0.1
2. Dependabotにプライベートリポジトリへの権限を付与する
自分がオーナーのOrganizationの
Settings
> Security
> Code security and analysis
> Grant Dependabot access to private repositories
でDependabotにアクセス権を与えるリポジトリを選択することができます。
ここで注意なのが、更新に使用する依存関係全てを追加する必要があります。
プライベートリポジトリのActionと、呼び出し側のリポジトリ両方ですね。
そうすると、呼び出し側で通常通り .github/dependabot.yml
に
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every weekday
interval: "daily"
のようなDependabotの設定をすることで、
DependabotがプライベートリポジトリのActionに関しても自動で更新プルリクエストを作成してくれるようになります。
まとめ
プライベートリポジトリでGitHub Actionを集中管理できるようになり、Dependabotによる更新も組み合わさって管理がだいぶ楽になりますね。
いいアップデートでした!
Discussion