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
Update Ruby to 3.0.5 #50743
Merged
Merged
Update Ruby to 3.0.5 #50743
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hamms
added
the
Ruby Update
Everything related to work to update the version of Ruby our codebase runs on
label
Mar 22, 2023
For some reason, in Ruby 3 this otherwise breaks with a `ArgumentError: wrong number of arguments (given 2, expected 1)`
sureshc
approved these changes
Jun 29, 2023
Hamms
added a commit
that referenced
this pull request
Jul 4, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update Ruby to 3.x!
Ruby 3.0 includes a number of breaking changes since 2.7, which should all have been already fixed:
ruby-build
in Chef #49864bundle --without
#49961unicorn
gem #50744petit
Gem Dependency #50854rake
Gem to 13.0.6 #50909Using the last argument as keyword parameters is deprecated
Warnings #50999binding_of_caller
Gem #51178web-console
Gem to 4.2.0 #51257sequel
Gem to 5.67.0 #51275pry
Gem to 0.14.2 #51277cgi
Gem to 0.3.6 #51427URI.encode
in Pegasus Template withURI::DEFAULT_PARSER.escape
#51446CDO
Configuration Object without OpenStruct #51493Time#strftime
rather thanRFC2822_DAY_NAME
#51497Style/HashAsLastArrayItem
#51498gctools
Gem #51590selenium-webdriver
gem to 4.2.0 #51635puma
Gem to 5.6.5 #51929Links
See #47961 for our last major Ruby version update.
Ruby version release announcements:
Testing story
Tested on Drone with an updated Drone image running Ruby 3. Also tested on adhocs both that this version of Ruby works on its own and that the update can be applied successfully to an existing server already running Ruby 2.7.
Deployment strategy
If everything goes entirely according to plan, this update should in theory require no manual intervention. We should plan to deploy this change on its own as a standalone deploy with the rest of the pipeline closed off in case anything doesn't go according to plan and we need to revert.
Follow-up work
Once all servers have been updated to Ruby 3, we can drop support for 2.7
We should quickly follow up this major version update with another update to pick up any patches that have come out since the upgrade work began.
Support for Ruby 3.0 ends in 9 months; end of March 2024. We should immediately begin preparing for an update to Ruby 3.1.