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

Upgrade to Ruby 3.1 #1114

Closed
wants to merge 6 commits into from
Closed

Upgrade to Ruby 3.1 #1114

wants to merge 6 commits into from

Conversation

bigchickenwings
Copy link

@bigchickenwings bigchickenwings commented Jan 10, 2023

Description

Ruby 2.7 is reaching its end-of-life in March 2023. To ensure that we are working with up-to-date versions that receive security updates, we are upgrading our ruby version to 3.1.

As we are upgrading our ruby version, dependencies need to be updated to ensure that they are behaving as expected.

The following gems were updated/version-locked:

  • bundler: v2.2.33 doesn't work well with ruby v3.1 and shows the following warning whenever bundler is called. For that reason, we are using the exact same version as the CI, v2.3.26:
Calling 'DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call 'DidYouMean.correct_error(error_name, spell_checker)' instead.
  • contracts: according to the warning during bundling, v0.16 should be used only with ruby v2.x. For ruby v3.x +, we should use v0.17
  • cucumber: v2.0 has warnings about redefining methods within the gem. So we are using v8.0

In order to know if we have any deprecation warnings in version 2.7, we
need to update to the latest version.
In order to get to version 3.1, we want to first move to version 3.0 to
ensure that it's working as expected, as well as there are no
deprecation warnings.
Update ruby to the final current version of 3.1
As we are upgrading our ruby version, there are dependencies
that need to be updated as well to ensure that their are
behaving as expected.

The following gems were updated:
- `bundler`: v2.2.33 doesn't work well with ruby v3.1 and
shows the following warning:
  - `Calling
  'DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)'
  has been deprecated. Please call
  'DidYouMean.correct_error(error_name, spell_checker)' instead.
- `contracts`: according to the warning during bundling,
v0.16 should be used only with ruby v2.x. For ruby v3.x +, we
should use v0.17
- `cucumber`: v2.0 has some warnings about redefining methods
that already exists in the gem.
@bigchickenwings bigchickenwings changed the title Ruby 3 1 upgrade Upgrade to Ruby 3.1 Jan 10, 2023
To make sure that our bundling will work as expected, we should use
the same version we current have in the CI, v2.3.26
@saturnflyer
Copy link
Collaborator

I didn't find any of these changes necessary either locally or in #1117

@saturnflyer
Copy link
Collaborator

#1117 Passed and has been merged so I don't think these changes are necessary. Closing this but please reopen if I've misunderstood something

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.

None yet

2 participants