DependabotはSwiftPMに非対応
GitHubは同様のDependabotというサービスを買収したものを公式サービスとして提供していますね。ただDependabotはSwiftの対応がもう一つなのでSwiftにはRenovateがいいですね。
— kishikawa katsumi (@k_katsumi) May 22, 2021
- DependabotはSwiftPMに非対応
Renovate
概要
- Renovateが良さそう
- RenovateによるiOSライブラリーの自動更新
- Xcode経由で入れたSwiftPMには非対応…(T_T)
- Support for Xcode project Swift PM Dependencies #9735
Renovateの導入デモ
- 前述の通りXcodeのSwiftPM を使う場合は動かないので、CocoaPodsで動作を確認した。
- 適当なライブラリの古いバージョンを指定。
pod init
がエラーとなる問題のとりあえずの回避策
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'GitHubPlayground' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for GitHubPlayground pod 'SDWebImageSwiftUI', '1.3.3' end
- https://github.com/apps/renovateよりRenovateをRepositoryに追加
- リポジトリの直下に
renovate.json
を作成- 各種設定はRenovate Docsが参考になる(らしい)
RenovateをiOSアプリ開発に導入してみた - dely tech blog 1つのPRでまとめて更新してほしいものをpackageNamesでまとめています。 また、バージョンを更新したくない場合、"enabled": falseを設定することでPRが生成されなくなります(e.g. SwiftLint)
{ "packageRules": [ { "groupName": "SDWebImage", "managers": [ "cocoapods" ], "packageNames": [ "SDWebImageSwiftUI", ] } ] }
- しばらくするとRenovateのbotがPRを作成してくれる