Removing old Ruby builds like Ruby 1.9-2.2 and JRuby 9.1-9.3 and TruffleRuby 19-22
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 990
- フォーク
- 369
- 平均マージ
- 18分
- マージ済み PR(30日)
- 3
説明
Based on the excludes in https://github.com/ruby/setup-ruby/blob/afda160499b3ea79ea34ed7dc1191c3f68294309/.github/workflows/test.yml#L38
I'm thinking to remove old Rubies such as:
- 1.9. which is only built on
ubuntu-22.04andmacos-latestbut fails to build on all other platforms. It probably doesn't work well either and there are tons of exclude for it. - 2.0, 2.1 and 2.2 since 2.2 is known to segfault (https://github.com/ruby/setup-ruby/issues/496) and likely none of them work well. Also 2.2 has this weird version mismatch explained in the README. Also the oldest version that builds on arm64 is 2.3.5 and it seems nice to have approximately the same versions on x64 and arm64 available (when possible).
- JRuby 9.1, 9.2 and 9.3, so we'd keep only supported release trains of 9.4 and 10.0.
- TruffleRuby releases which are EOL and older than 2 years, like everything older than 23.0.0 (which is compat 3.1, 22.3 is compat 3.0).
I want to keep @v1 and avoid jumping to @v2 to avoid unnecessary churn and confusion. The idea is to not maintain those anymore, if there was a @v2, @v1 would become "dead" and I don't want that and all the issue spam that would result from it.
I'm thinking to first remove support for them in setup-ruby (so it would result in an error then, or maybe at first a warning), and then after some time remove them in https://github.com/ruby/ruby-builder/releases/tag/toolcache.
Is anyone using those versions and have a working build they can link?
That would make me consider keeping some of these versions longer.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
.github/workflows/test.yml のバージョン除外と setup-ruby のサポートパスを確認し、issue に記載されている ruby-builder toolcache のリリースと比較します。記載されている MRI、JRuby、TruffleRuby のバージョンに、現在も動作するビルドまたはユーザーがあるか確認します。@v1 インターフェースを壊さずに削除または維持する方針が決定されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github-actions, javascript, ruby
- 領域
- build-system, ci-cd, release
- issue の種類
- リファクタリング
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100