-
Notifications
You must be signed in to change notification settings - Fork 899
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
Upgrading ruby to 3.3 #23142
Upgrading ruby to 3.3 #23142
Conversation
@@ -16,6 +16,7 @@ jobs: | |||
ruby-version: | |||
- '3.0' | |||
- '3.1' | |||
- '3.3' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kbrock Even if we jump from 3.1 to 3.3 in a release, we should include 3.2 with 3.3 so if they fail in CI, we can determine if it's a problem unique to 3.3 or also a problem in 3.2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea, since we will never use 3.2, I'm mixed on this one.
Already got 2 thumbs up, so I'll add it.
But it seems a waste of cycles and unnecessary granularity
For build, EL9 ships with ruby 3.0 by default and has dnf modules for 3.1 and 3.3, but not 3.2. |
so weird that el9 jumped a version 😕 |
The gem build failure for Hopefully it shouldn't be too hard. Guess this is where it all begins. Wish they had a |
This looks alittle different. There's no option reported in the output to silence it. |
That's also an error, whereas the others were warnings. |
sorry, it's different than the one we had previously where it told you that you can ignore it by opting into that behavior:
oVirt/ovirt-engine-sdk-ruby#11 This one is a undeclared variable if I'm reading correctly. |
@jrafanie in the linked issue from your last comment you tried to build version 4.6.0 of ovirt engine sdk. This error is because the CI pulls 4.4.1 and it is unrelated. This issue has already been fixed with latest version. See oVirt/ovirt-engine-sdk-ruby@97df88c |
@miq-bot cross_repo_test #23142 including ManageIQ/manageiq-providers-ovirt#676 ManageIQ/manageiq-providers-red_hat_virtualization#54 |
From Pull Request: ManageIQ/manageiq#23142
@kbrock I find this site more useful for detailing changes in Ruby: |
5322c93
to
02a88ad
Compare
3893feb
to
1887f22
Compare
update:
unsure: Do we want to force ruby => 3.1? |
d61924f
to
83a892b
Compare
update:
|
Checked commit kbrock@1e99a38 with ruby 3.1.5, rubocop 1.56.3, haml-lint 0.51.0, and yamllint |
Is there anything we need to do here? I assume it's difficult to find. |
@jrafanie no. I searched through the code and it looks like we are all set, but left it as "outstanding" to let people know that a few of these may still be lurking. ok. Ignoring specs:
|
raise "Ruby versions >= 3.4.0 are unsupported!" if RUBY_VERSION >= "3.4.0" | ||
|
||
ruby ">= 3.1.1", "< 3.5.0" | ||
warn "Ruby versions >= 3.4.0 are untested!" if RUBY_VERSION >= "3.4.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this resolve the issue around rubocop and warning for testing of untested rubies?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. adding the padding on the top ( < 3.5
instead of < 3.4
) with the warning in there will help us in the future too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just minor question. As long as we have smoke tested images/appliances with ruby 3.3, I'm good with shipping this!
❤️
🎉 🕺 🏆 🎉 🕺 🏆 🎉 🕺 🏆 |
Backported to
|
Upgrading ruby to 3.3 (cherry picked from commit 3fb39c3)
3.2 ref
Highlights:
Regexp.timeout = 1.0
orRegexp.new('^a*b?a*()\1$', timeout: Float::INFINITY)
Struct
no longer needskeyword_init
Fixnum
,Bignum
Random::DEFAULT
,Struct::Group
,Struct::Passwd
Dir.exists?
,File.exists?
Kernel#=~
,Kernel#taint
,Kernel#untaint
,Kernel#tainted?
,Kernel#trust
,Kernel#untrust
,Kernel#untrusted?
libyaml
. (was inpsych
. May needlibyaml-dev
on ubuntu)libffi
. (was infiddle
- only used on windows)Queue#pop
,SizedQueue#push
,SizedQueue#pop
added paramtimeout:
3.3
punt:
ERB::Util.html_escape
is made faster thanCGI.escapeHTML
require "set"
(supporting older ruby versions)External PRs
These were changed in external libraries and make using them easier, but are not required for our upgrade.
Related PRs
providers:
current solution