Skip to content

Add Ruby 3.4 and 4.0 to CI test matrix#1074

Closed
fkmy wants to merge 1 commit into
vcr:masterfrom
fkmy:ci/add-ruby-3.4-and-4.0
Closed

Add Ruby 3.4 and 4.0 to CI test matrix#1074
fkmy wants to merge 1 commit into
vcr:masterfrom
fkmy:ci/add-ruby-3.4-and-4.0

Conversation

@fkmy

@fkmy fkmy commented May 22, 2026

Copy link
Copy Markdown
Contributor

Ruby 3.4 (released 2024-12-25) and Ruby 4.0(released 2025-12-25) are not yet covered by CI.
This adds them to the cucumber/rspec matrices.

@fkmy fkmy marked this pull request as draft May 23, 2026 07:41
@fkmy

fkmy commented May 23, 2026

Copy link
Copy Markdown
Contributor Author

Investigated CI failures after adding Ruby 3.4 and 4.0 to the matrix. Found several independent causes, mostly related to Ruby's default gem reorganization and Ruby 3.4 behavior changes.

Ruby 3.4 failures

Two cucumber scenarios fail:

scenario cause
features/configuration/debug_logging.feature:8 Hash#inspect output format changed in Ruby 3.4 ({:key=>val} → {key: val}), so the expected log output no longer matches
features/configuration/preserve_exact_body_bytes.feature:20 An ostruct deprecation warning ("will no longer be part of the default gems starting from Ruby 4.0.0") leaks into the child process output

RSpec on Ruby 3.4 also fails via script/fail_if_warnings due to literal string will be frozen warnings (same set of files as 4.0, see below).

Ruby 4.0 failures (all matrix combinations)

cause affected notes
ostruct removed from default gems → LoadError via bundler many cucumber scenarios rack and sinatra both require 'ostruct'
cgi removed in Ruby 4.0 RSpec spec/support/shared_example_groups/hook_into_http_library.rb:1 does require 'cgi'
method redefinition warning on available? cucumber lib/vcr/util/internet_connection.rb:31 vs spec/support/cucumber_helpers.rb:12
literal string will be frozen warnings (also on 3.4) RSpec via fail_if_warnings lib/vcr/cassette/migrator.rb, lib/vcr/structs.rb, spec/lib/vcr/cassette/serializers_spec.rb, spec/lib/vcr/structs_spec.rb

I'm going to close this pull request for now.

@fkmy fkmy closed this May 23, 2026
@fkmy fkmy deleted the ci/add-ruby-3.4-and-4.0 branch May 29, 2026 14:50
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.

1 participant