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

Support for Ruby 2.4 through 2.7 #466

Merged
merged 6 commits into from
Jun 12, 2020

Conversation

mvz
Copy link
Contributor

@mvz mvz commented Jun 6, 2020

Summary

Update the set of tested and supported Rubies to 2.4 - 2.7

Details

  • Bump minimum version in gemspec and rubocop config
  • Stop building on 2.3 on Travis
  • Start building on 2.7 on Travis
  • Update rubocop and aruba dependencies, which also support Ruby 2.4+

Motivation and Context

This relates to #455 and lowers the maintenance burden.

How Has This Been Tested?

Travis will have to check on all supported Rubies.

Types of changes

Not sure.

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist:

Not sure yet either.

  • I've added tests for my code.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

@mvz mvz marked this pull request as draft June 6, 2020 08:07
- rvm: 2.3
gemfile: gemfiles/rails_6_0.gemfile
- rvm: 2.4
gemfile: gemfiles/rails_4_2.gemfile
- rvm: 2.4
gemfile: gemfiles/rails_6_0.gemfile
- rvm: 2.5
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think tests should run for ruby 2.5 and rails 4.2 combo as well

Copy link
Contributor Author

@mvz mvz Jun 6, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree but tried to keep with the spirit of the set of exclusions that was already there.

Perhaps @luke-hill, who created this set in the first place, can explain the reasoning for not testing 4.2 on Ruby 2.5?

Copy link
Contributor

@luke-hill luke-hill Jun 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the time we originally drafted the 2.5 addition to travis (Or at least first started culling the travis releases), we made a conscious decision that the "newest" ruby at the time wouldn't support the oldest rails we supported. Because that Max/Min combo was perceived to be not desirable.

Also 2.5 (For another reason), was a Rails6 enforcement. So when we introduced rails6, it felt like most people on 2.5 would go straight to rails6 for big gains.

If we want to tweak which items are supported that's fine. But I definitely don't think we should introduce extra old versions, when we're already supporting quite a vast range of rails / ruby as it is.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, so Rails 4.2 would only be tested with Ruby 2.4. This makes sense to me.

I'm going to mull over the possibility of inverting the logic here, because with so many exclusions I find it hard to have a clear overview of what will be built. I don't know if that's possible with Travis' config, but I'll see.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My philosophy here is if you can justify the change that's fine. I'm not gonna rule with an iron fist here.

By default (With simple maths), we have 5*5 tested permutations. And I think Rails6 rules out the top2/3. So realistically by default we have like 22 permutations.

We need to get that down a little bit, but then I suppose it's also about volume. If we're not really firing many PR's at it, I'm happy to open it up a little bit, I just wouldn't want something previously excluded to be "reincluded" so to speak.

@mvz mvz mentioned this pull request Jun 8, 2020
6 tasks
@luke-hill
Copy link
Contributor

@mvz can we move this PR into ready for review? As someone else has come forward to do some follow-up work to this.

@@ -20,6 +20,34 @@ Metrics/BlockLength:
Style/NumericLiteralPrefix:
EnforcedOctalStyle: zero_only

# Enable new cops
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can use a new style here called

AllCops:
  NewCops: enable

Nested underneath the above.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what is worth, I prefer explicitly enabling cops that we're interested in (even if it's all of them), rather than blindly accepting every new from rubocop.

@deivid-rodriguez deivid-rodriguez mentioned this pull request Jun 12, 2020
6 tasks
@mvz mvz marked this pull request as ready for review June 12, 2020 08:28
@mvz
Copy link
Contributor Author

mvz commented Jun 12, 2020

@mvz can we move this PR into ready for review? As someone else has come forward to do some follow-up work to this.

Done! I'll also rebase this now that #451 has been merged.

@mvz mvz force-pushed the drop-support-for-ruby-2-3 branch from 0c79892 to 54a0ef9 Compare June 12, 2020 08:30
Copy link
Member

@deivid-rodriguez deivid-rodriguez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@luke-hill luke-hill merged commit 1f89a25 into cucumber:master Jun 12, 2020
@mvz mvz deleted the drop-support-for-ruby-2-3 branch June 12, 2020 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants