Removing old Ruby builds like Ruby 1.9-2.2 and JRuby 9.1-9.3 and TruffleRuby 19-22
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- JavaScript
- Estrelas
- 990
- Forks
- 369
- Merge médio
- 18min
- PRs com merge (30d)
- 3
Descrição
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.
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Revise as exclusões de versões em .github/workflows/test.yml e os caminhos de suporte do setup-ruby, depois compare-os com a release do toolcache do ruby-builder descrita na issue. Confirme se as versões listadas de MRI, JRuby e TruffleRuby ainda têm builds funcionais ou usuários; considera-se concluído quando houver um plano decidido de remoção ou retenção sem quebrar a interface @v1.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- github-actions, javascript, ruby
- Domínio
- build-system, ci-cd, release
- Tipo de issue
- Refatoração
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100