Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop support for ruby 2.6 #21685

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

lacostej
Copy link
Collaborator

@lacostej lacostej commented Dec 1, 2023

Kill kill

Arguments in favor of not supporting ruby 2.6 anymore:

  • Ruby has been deprecated on the Mac platform since 2019.
  • Ruby 2.6 has reached end of life since March 2022 and is probably unsecure to use
  • some old versions of ruby libraries do not build properly on newer versions or ruby, and we cannot update them because the later versions stopped supporting ruby 2.6 as it has EOL status. See Missing ffi library in tests on Ruby 3.1 on Windows #21689 as example
  • We see some false positives in issue reporting due to incorrect dependency management from people who have bad ruby dependency management. We should recommend bundler as a way to use fastlane anyway.

Arguments in favor of keeping support for ruby 2.6:

  • it comes by default on Mac and some of our users might still use it. Ongoing investigation to see how much. We don't have analytics on this unfortunately.

I am in favor of deprecating ruby 2.6 support for now. We could start by adding a huge deprecation message for ruby 2.6 users or even use different notifications such as adding an extra sleep time or forcing users to set an env variable to let ruby run.

Checklist

  • I've run bundle exec rspec from the root directory to see all new and existing tests pass
  • I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
  • I see several green ci/circleci builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)
  • I've read the Contribution Guidelines
  • I've updated the documentation if necessary.
  • I've added or updated relevant unit tests.

Motivation and Context

Description

Some information about stats

Here's a little script that allows to extract information about the ruby version usage based on reported issues in github:

seq 21700 21780 | xargs -L1 -I % gh issue view % | grep '| Ruby                        |' | cut -d '|' -f 3 >> RUBIES

ruby -e 'puts File.read("RUBIES").split("\n").map{|l|l.strip.split(".")[0..1].join(".")}.group_by{|l| l}.map{|a| [a[0],a[1].count]}.to_h'

{"2.6"=>24, "2.7"=>37, "3.0"=>18, "3.1"=>71, "3.2"=>39}

So ruby 2.6 accounts for about 12.7% of the issues reported with a Ruby version since January 2023.

And same stats for issues from 20000 to 20999 (Feb 2022 to Jan 2023) returns 30% using 2.6 or lower.

{"2.6"=>83, "2.2"=>1, "3.1"=>113, "2.7"=>49, "3.0"=>37, "3.2"=>1}

Update

In the last six months (1st of September 2023 to end of February 2024, tickets 21495 to 21896, we have 9.4% tickets using 2.6 or lower.

{"3.2"=>28, "2.6"=>9, "3.1"=>24, "2.7"=>17, "3.0"=>10, "3.3"=>8}

Testing Steps

@lacostej
Copy link
Collaborator Author

lacostej commented Dec 1, 2023

1 remaining issue

@lacostej lacostej mentioned this pull request Dec 1, 2023
@lacostej lacostej changed the title Feature/drop ruby 2.6 [WIP] Drop support for ruby 2.6 [WIP] Dec 11, 2023
@lacostej
Copy link
Collaborator Author

lacostej commented Jan 4, 2024

Here's a little script that allows to extract information about the ruby version usage based on reported issues in github:

seq 21700 21780 | xargs -L1 -I % gh issue view % | grep '| Ruby                        |' | cut -d '|' -f 3 >> RUBIES

ruby -e 'puts File.read("RUBIES").split("\n").map{|l|l.strip.split(".")[0..1].join(".")}.group_by{|l| l}.map{|a| [a[0],a[1].count]}.to_h'

{"2.6"=>24, "2.7"=>37, "3.0"=>18, "3.1"=>71, "3.2"=>39}

So ruby 2.6 accounts for about 12.7% of the issues reported with a Ruby version since January 2023.

And same stats for issues from 20000 to 20999 (Feb 2022 to Jan 2023) returns 30% using 2.6 or lower.

{"2.6"=>83, "2.2"=>1, "3.1"=>113, "2.7"=>49, "3.0"=>37, "3.2"=>1}

@janbrasna
Copy link

FYI:

@lacostej lacostej marked this pull request as ready for review February 27, 2024 21:10
@lacostej lacostej changed the title Drop support for ruby 2.6 [WIP] Drop support for ruby 2.6 Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants