Renovate
https://gyazo.com/df51e13e50d38b6c90fe6cf69ed01947
依存packageを定義しているfileを見て、新しいversionがあればPRを作成するGitHub Apps 導入してみて、良いと感じる点mrsekut.icon
定期的にアップデートの通知が来るため、そこを意識する必要がない
定期的に思い出した時に自分で上げる、という意識が不要になる
これはRenovateの一番の特徴なので言うまでもないだろう
個々のLibraryに対して、Release NoteをPRに全部載せてくれる
個別のRelease Noteをわざわざ見に行かなくて済む
さらっとでも気軽に目を通すことができる
アップデートに失敗するものの追随
Library側の問題だったり、Library同士の相性の悪さだったりで、最新バージョンを入れると壊れることがある
「更に新しいバージョン出て、かつ、CIが通った」ら入れれば良いのでそこの意識を自動化できる
Renovateを使っていなかったら、定期的に使っているLibrary全てを上げて、CIが壊れて、どれが原因で壊れたんだ....、というのを毎回(?)チェックしないといけない
例
PR内でRelase Noteを示してくれる
そこにBREAKINGなども記載されている
導入
金かかりそうな雰囲気がある画面に行くが、$0なので気にせず進める
登録時に「All repositories」か「Only select repositories」か聞かれる
もちろん後者
登録が終わると、PRが生成されているはず
参考
minorとかpatchでまとめているが、最近頻繁にエラーになってだるい
https://gyazo.com/42a555c9e3031037f20c0b479ffe4a44
もはやライブラリごとにPR送ってくるように変更したほうがいいんちゃうという気がしてくるな
PRが大量に来ることになるが、CIをpassしてるやつをmergeしていくだけなので大変ではないはず
特定してもそれを外してそれ以外update、とするのが手間
どれが原因で落ちてるのかを探索するのに無駄に時間がかかっている
とはいえ、storybookとかは、同時にアップデートしたほうがいいみたいなのがある
うーん
全部個別にするとCI時間も消費してしまう
$ npx --yes --package renovate -- renovate-config-validator
docsわかりづらすぎでは?mrsekut.icon
サイドバーに並列に並んでるやつ、全く並列な概念じゃなくない?
https://gyazo.com/b799e8a178a85885cdcdcedc8c7293a2
なんでmajorやminorとかと同じように、osVulnerabiliryAlertsとかがあるんだよ
例えば、packageRules.matchUpdateTypesの説明が以下のようになってて
https://gyazo.com/41170b11526dcc52dbcb4cd50be758a5
allowedValuesのところにいくつかの値があるが
このmajorとかminorとかの値と同列にpackageRules自体が存在する
いやでも互いに依存してるから仕方ないのか(?)
一回無視したらどうなる?
次にupgradeした時にまた来る?それとも今後来なくなる?
たとえば、deployしてる環境の都合で、特定のlibraryのupgradeができない、とかある
その時に、毎回毎回PR作られてもダルい
かといって、closeするたびに、次から更新来なくなるのも困る