Closed13

依存関係の更新ツール Renovate のドキュメントに齟齬があるので、GitHub の Discussions に投稿してみる

m_okunom_okuno

こちらの記事 GitLab と Renovate で iOS のライブラリアップデートを自動化する方法 (XcodeGen) を書いているときに、公式ドキュメントで次の齟齬を見つけました。

  • Renovate Docs > Configuration Options > regexManagers では、 versioning がデフォルトで semver (厳密なセマンティックバージョン, 3.0 や v3 を 3.0.0 とは解釈しない) となっています。
    • We recommend that you also tell Renovate what versioning to use. If the versioning field is missing, then Renovate defaults to using semver versioning.

  • 一方で、 Renovate Docs > Custom Manager Support using Regex > Required Fields では、 versioning がデフォルトで semver-coerced (寛容, 3.0 や v3 を 3.0.0 と解釈する)と記載されています。
    • You can optionally have a versioning capture group or a versioningTemplate config field. If neither are present, semver-coerced will be used as the default

実際に Renovate 動作させて確認したところ、正しくは semver (厳密) がデフォルトで使われていました。
テストしたリポジトリ

気付いたきっかけは、定期実行で最新版を拾えていないライブラリがあったことでした。
バージョニングの接頭辞に v が付いていると最新版を拾えていないと気付き、セマンティックバージョンの仕様と厳密には異なる点があると知って、辿り着きました。
(ちなみに、セマンティックバージョンに v が付いてはいけないルールを初めて知りました)

一応、 semver-coerced を指定すれば、普通に v が付いていたり、3.0 という書き方でも、最新版を取ることはできます。

m_okunom_okuno

ドキュメントを修正しようと思い、renovate の GitHub リポジトリに記載された Contributing を読みました。

まずは、Issue や Discussions に既にないか検索し、なければ Discussions に投稿するのがオススメと書いてあったので、調べて載ってなければ Discussions に投稿しようと思います。

m_okunom_okuno
  • regexManager で Issues を検索

    • Put our Renovate's org regex managers into public regex manager presets #22025
      • この件とは違いそう
    • Rename regexManagers to customManagers #19066
      • ここで初めて regex → custom と名前が変わりそうなことを知る
      • Issue のやりとりが勉強になる。返事が楽そう
      • 違いそう
    • ぱっと見なさそう
  • versioning で Issues を検索

    • feat: Support XcodeGen #20504
      • XcodeGen サポートの Issue が立っていたことを知る
    • 検索結果多すぎるので、 semver に変更したが、ぱっと見なさそう
  • Discussions の Report a Problem をみる

    • ぱっと見なさそうだったので、投稿してみようと思う
m_okunom_okuno
  • ↑ Discussions の Ask a Question の方がカテゴリがあっていそうなので、再度調査
    • RegexManager で調べても、直近で出てこないので投稿をしてみる

DeepL翻訳を使ってなんとか投稿はできました。
https://github.com/renovatebot/renovate/discussions/22957

実は自分の勘違いだったり、英語がなんかおかしかったりしないか不安ですが、やれることはやったと信じてます 🙏

m_okunom_okuno

なんと、もう返信をもらえました

m_okunom_okuno

PRs welcome とコメントいただいたので、チャレンジしてみます。PRの作り方にもルールがありそうなので、その辺りを焦らず抑えていきたい。

m_okunom_okuno

返信きており、最新版で再現させた方が良いのではないかとコメントをいただきました。

バグなどの報告はバージョンと一緒が良さそうだけれど、再現させる環境は最新版でやらないとたしかに意味ないよな、と学びました。

m_okunom_okuno

朝起きたら pull request が作られていました、とても早い。
これが海外のスピード感なのか?
https://github.com/renovatebot/renovate/pull/23020

結果として、ドキュメントも誤っていたが、仕様としてはデフォルト値を semver-cerced へ変更する事になりそう。prラベルに breaking がついていたので、次のメジャーバージョンアップで反映されるかもしれないのは、個人的に楽しみ。

このスクラップは2023/06/29にクローズされました