Update Ruby to 3.0.5 - #50743
Merged
Merged
Conversation
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
This file contains hidden or 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
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-buildin Chef #49864bundle --without#49961unicorngem #50744petitGem Dependency #50854rakeGem to 13.0.6 #50909Using the last argument as keyword parameters is deprecatedWarnings #50999binding_of_callerGem #51178web-consoleGem to 4.2.0 #51257sequelGem to 5.67.0 #51275pryGem to 0.14.2 #51277cgiGem to 0.3.6 #51427URI.encodein Pegasus Template withURI::DEFAULT_PARSER.escape#51446CDOConfiguration Object without OpenStruct #51493Time#strftimerather thanRFC2822_DAY_NAME#51497Style/HashAsLastArrayItem#51498gctoolsGem #51590selenium-webdrivergem to 4.2.0 #51635pumaGem 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.