tapiocaに関しては–verifyオプションが用意されているのでそれを利用する
1
2
| bin/tapioca gems --verify
bin/tapioca dsl --verify
|
sorbet-railsに関してはtapiocaのようなオプションが用意されていないようなので下記の感じで差分があるか確認する
1
2
3
| bin/rails db:schema:load # ridgepoleを使っている場合にはridgepole --applyを。
bundle exec rake rails_rbi:all
git diff --exit-code --quiet
|
実際のところ現状だと各RBIのコンフリクト解消が関わってくるので自分は下記のような感じで対応しています
1
2
3
4
5
6
7
8
9
10
11
12
| bundle exec srb rbi sorbet-typed
bin/rails db:schema:load
bin/rails rails_rbi:all
bin/tapioca gem --workers=8
bin/tapioca todo
bundle exec srb rbi suggest-typed # コンフリクト解消をここで行ってから差分がでないことを確認する。こうしないとコンフリクト解消前の状態とコンフリクト解消後の状態の比較になってしまい差分が頻繁に発生する状態になってしまいほぼ常にCIで引っかかる状態になってしまう
git diff --exit-code --quiet
if [ $? -ne 0 ]; then
echo "Please resolve the difference of RBI files"
exit 1
fi
|
参考: