feat!: Min Ruby Version 3.3#2070
Conversation
Ruby 3.1 (EOL 2025-03-31) and Ruby 3.2 (EOL 2026-03-31) are no longer maintained. Bump minimum required Ruby version to 3.3, the oldest actively supported release. Changes: - Update required_ruby_version from '>= 3.1' to '>= 3.3' in 20 gemspecs - Remove Ruby 3.2 and 3.1 test steps from CI workflow - Move yard/rubocop/build quality gates to the Ruby 3.3 step - Update TargetRubyVersion to 3.3 in rubocop config - Update bug report template example Ruby version The deprecated Jaeger exporter (pinned to < 3.2) is intentionally left untouched. Closes open-telemetry#2069
|
👀 Generating semantic-conventions gem and then Rubocoping on Windows: Oooh, Windows and your line endings. 🤔 I'm pondering how to address this problem that is totally not your fault, @YousefHadder. We don't ship the built semconv gem from a Windows build, so I think the line-endings kinda don't matter. I'm open to setting Rubocop config for |
d98ffdb to
e60daed
Compare
Moving rubocop from the Ruby 3.1 step (ubuntu-only) to the 3.3 step (all OSes) exposed a pre-existing issue: generated semantic_conventions files on Windows use CRLF, causing Layout/EndOfLine failures. Setting EnforcedStyle: lf fixes this since all committed files use LF.
|
@robbkidd seems like the latest commit made it worse right ? |
|
@YousefHadder i have found the issue and have a fix for it in #2071. Can you revert your last change. You will notice in https://github.com/open-telemetry/opentelemetry-ruby/actions/runs/23678217086/job/68985482770?pr=2071 there is 2 less violations compared to here and that is because I fixed 2 occurances of them as a POC. @robbkidd the issue is the jinja/weaver template missing the new line at the end. 🤣 |
This reverts commit 5b5f47e.
kaylareopelle
left a comment
There was a problem hiding this comment.
This is fantastic! Thank you @YousefHadder!
I noticed one other spot where Ruby 3.1 is hanging around. The Dockerfile has ARG RUBY_VERSION set to 3.1.6. Would you mind updating it?
I'm going to hold off on approving this one until we can merge main into this branch after #2071 is merged to make sure the semconv Rubocop issues are resolved for Windows.
kaylareopelle
left a comment
There was a problem hiding this comment.
Thank you! Welcome to the project! 🌟
Summary
>= 3.1to>= 3.3across all 20 gemsyard,rubocop,build) to the 3.3 stepTargetRubyVersionin rubocop config from3.1to3.3(verified zero new offenses)Ruby 3.1 reached EOL on 2025-03-31 and Ruby 3.2 reaches EOL on 2026-03-31. Ruby 3.3 is now the oldest actively maintained version.
The deprecated Jaeger exporter (pinned to
< 3.2) is intentionally left untouched.Closes #2069
Related: open-telemetry/opentelemetry-ruby-contrib#2124
Changes
required_ruby_versionfrom'>= 3.1'to'>= 3.3'TargetRubyVersion: "3.1"→"3.3"Test plan