Open5

Renovateのshareable config presetを作ってリポジトリに導入するメモ

nafuka11nafuka11

何故やろうと思ったか

https://efcl.info/2022/06/27/maintenance-open-source/
↑の記事で Renovate の存在を知り、導入してみたくなった。

導入したいリポジトリは複数あり、設定は共通化したい。
このため shareable config preset を作ってみることに。

そもそも Renovate とは

https://github.com/renovatebot/renovate

Universal dependency update tool that fits into your workflows.

チュートリアル

ドキュメント は分量があるので、先にチュートリアルをやるのがいいかもしれない。
(自分は後になって存在に気付いたので、やってない)
https://github.com/renovatebot/tutorial

nafuka11nafuka11

Preset

https://docs.renovatebot.com/config-presets/
Presetはオプションをまとめたもの。
Renovateで用意されたPreset(Included Presets)と外部でホストされたPresetがある。
Presetは extends に追加する。

Included Presets

カテゴリ:Preset名 のような命名になっている。

基本、カテゴリはドキュメントの「〜 Presets」の「〜」を小文字にしたものになっている。カテゴリが docker だったら、ドキュメントは Docker Presets を見ればよい。
ただし、カテゴリ configFull Config Presets に、カテゴリ無し( 例: :enableRenovate )は Default Presets になっている。

外部でホストされたPreset

npm-hosted presetsは @username で指定できてカッコいいが、deprecatedらしい。

今回はGitHubでRenovateを使うので、その項目を見る。
https://docs.renovatebot.com/config-presets/#github
1つのPresetのリポジトリに複数ファイルを置いて、リポジトリによって使い分けることもできそう。

nafuka11nafuka11

どうやってPresetを作るか?

https://docs.renovatebot.com/config-presets/#github-hosted-presets

通常、リポジトリ名は renovate-config
renovate-configで検索 すると、いくつもリポジトリが出てくる。star数が多いリポジトリを参考にするのも良さそう。

方針

  • config:base をベースに、設定を追加していく。
  • 月1くらいで依存関係を更新してほしい
  • 更新時、アプデして間もないバージョンは使われたくない。