【发布时间】:2021-08-21 01:38:18
【问题描述】:
我正在尝试将 Sorbet 添加到由 20 位工程师维护的 Rails 代码库中。我们使用dependabot 非常频繁地更新gem,我宁愿不必在每个版本碰撞时手动运行srb rbi update。有没有办法在每次运行 bundle install 时自动运行 srb rbi update,并让它只更新已更改的 gem(因此不需要 5 分钟)?
【问题讨论】:
标签: sorbet
我正在尝试将 Sorbet 添加到由 20 位工程师维护的 Rails 代码库中。我们使用dependabot 非常频繁地更新gem,我宁愿不必在每个版本碰撞时手动运行srb rbi update。有没有办法在每次运行 bundle install 时自动运行 srb rbi update,并让它只更新已更改的 gem(因此不需要 5 分钟)?
【问题讨论】:
标签: sorbet
不幸的是,您需要为 Sorbet 运行每个 gem 中的每一段代码来创建准确的类型信息,因此仅更新特定的 gem 是不可能的。
理论上你可以编写一个脚本来运行srb rbi update 命令,然后生成一个 git 补丁文件并自动打开一个 PR/MR,但我真的不知道有什么工具可以做到这一点。
我将 Dependabot 用于我的 Rails 应用程序,到目前为止,我一直在做的只是每隔一段时间运行一次更新命令。大多数时候,稍微过时的方法定义不会导致新版本的类型错误,除非 gem 的代码库完全改变。
【讨论】: