Skip to content

Renovateを導入する #470

@qryxip

Description

@qryxip

内容

Renovateを導入します。

#289で私は「Deps.rsのバッジが黄色くなったタイミングで手動でアップデートするのがちょうどいいのではないか」ということを言いましたが、今現在の状態のように、PRが溜まるとちょうどよいタイミングというのが中々訪れません。そのような状況でも有無を言わさずPRを自動的に作ることで、「やるべきタスク」として可視化するという効果が期待できるのではないかと思いました。

Renovateは聞いている限りだとRustとの相性も悪くないようです。Renovateの設定は多岐にわたるようで、 複数のパッケージの更新を一つのPRにまとめたりできるようです()。update_rust_toolchainもRenovateに一本化できそうです()。

Pros 良くなる点

  • 依存ライブラリの更新を、「やるべきタスク」としてPRという形で可視化できる
  • 更新を忘れがちなGitHub ActionsのActionも、自動的に更新のPRを受け取れる
  • Renovateはリリースノートも抽出してくれてPRの本文で教えてくれる
    • ライブラリ数十個分のリリースノートを見に行くのは正直ちょっとだるいので、これは助かるかも

Cons 悪くなる点

なし (PRの頻度をほどほどに抑えるという前提だと)

実現方法

私はまだRenovateを使った経験がないので、まずは私個人で実験をしつつ、丁度よい塩梅の設定を発見したらPRを作成する。

RustのOSSではあまりRenovateの採用を見ない(Depedabotなら見る)のですが、ArkEdge Space Inc.のOSSと、そこのCI周りを設定しているであろうsksatという人のRustリポジトリとかが参考になるかなと思っています。
(地上で動くHTTPサーバーだろうが宇宙に飛ばすマイコンだろうがほぼRustで統一している会社らしいとのことで、以前から存在は知ってました)

我々は Rust というプログラミング言語の生産性を信じており,OBCデバイスドライバや高信頼性が必要な地上のシステムなど,ミッションクリティカルなソフトウェアはすべて Rust で開発しています. そして,それが持続できるように,日常的に Rust を書くエンジニアを増やしていきます.

さらに,今後我々が開発するすべての OBC は,Rust が実行可能になります. つまり,Rust が動作しないマイコンは,我々は決して採用しません.

VOICEVOXのバージョン

N/A

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions