RenovateのGemfileやPodfileの更新でリリースノートを取得する
Renovateは様々なデータソース・パッケージマネージャーに対応していて、もちろんRubyのBundlerのGemfileにも対応しているのだが、APIリクエストのレートリミットを回避する関係で、https://rubygems.org をデータソースとする場合はリリースノートの取得ができなくなっている。
これが不便で、自分達のチームではGemfileの更新にはDependabotを併用するという面倒な運用をしていた。最近になってこれを部分的に解消できる設定がRenovateに誕生したのでご紹介。
customChangelogUrlという設定を使うと、あるパッケージのリリースノートを探しにいくURLを指定することができる。これを使うとGitHubやGitLabの該当リポジトリのReleasesや CHANGELOG.md
などからリリースノートをリストアップしてくれる。
例えばfastlaneを指定する場合はこうなる:
{ "packageRules": [ { "matchManagers": ["bundler"], "matchPackageNames": ["fastlane"], "customChangelogUrl": "https://github.com/fastlane/fastlane", }, ] }
iOS開発文脈ではCocoaPodsのPodfileでも同様の状態にあり、そちらにも活用することができる。
{ "packageRules": [ { "matchManagers": ["cocoapods"], "matchPackageNames": ["SwiftLint"], "customChangelogUrl": "https://github.com/realm/SwiftLint", }, ] }
これでDependabotに別れを告げてRenovateに統一することができた。めでたしめでたし。