pixela v1.0.0 に引き続き今年2つ目と3つ目のメジャーバージョンアップ。
index_shotgun (1.0.0): duplicate index checker https://t.co/F8uFjJYtGp
— RubyGems (@rubygems) 2019年1月6日
activerecord-simple_index_name (1.0.0): Shorten index name https://t.co/vh4zzSYAMj
— RubyGems (@rubygems) 2019年1月6日
経緯
両方のgemともここ数年特に機能追加とかはしてないのですが、RubyやRailsの新しいバージョンが出る度に無邪気にTravis CIのマトリクステストの軸を増やしていったら気づいたらビルド時間が膨大になって色々とつらくなったので、新年ということでバッサリ古いバージョンを切ることにしました。
あとはbundler v2がRuby 2.3以降必須になったのも大きいかな。
両方ともRuby 2.2系以下とRails 4.2系以下のサポートを切っただけで、プロダクトコードの変更は特にないです。(rubocopで細かい整形をしたくらい)
ビルド時間の推移
index_shotgun
https://github.com/sue445/index_shotgun/blob/master/CHANGELOG.md#v100-20190106
1ビルド辺りのジョブ数 | ビルド時間(直列) | ビルド時間(5並列) | |
---|---|---|---|
Before | 75 | 2時間 | 30分 |
After | 45 | 1時間弱 | 20分弱 |
activerecord-simple_index_name
https://github.com/sue445/activerecord-simple_index_name/blob/master/CHANGELOG.md#v100
1ビルド辺りのジョブ数 | ビルド時間(直列) | ビルド時間(5並列) | |
---|---|---|---|
Before | 41 | 1時間 | 20分 |
After | 17 | 37分 | 10分 |
備考
- 上で5並列と書いているのはリポジトリ単位ではなくorganization(namespace)単位での上限なので、一度index_shotgunやactiverecord-simple_index_nameのビルドが始まると僕がメンテしてる他のリポジトリのビルドが実行待ちになります。(つらい)
- 40個くらいあるgemの
.travis.yml
を全部修正するとビルドが全部終わるのにだいたい一晩かかります。(つらい)