From a90c81d237648f56886c5fe0ee8cb467031f11d8 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Wed, 5 Feb 2025 15:32:34 +0000 Subject: [PATCH 01/14] Update support range for direct dependencies --- cucumber-rails.gemspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 8842569c..fbc4a807 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -24,9 +24,9 @@ Gem::Specification.new do |s| 'source_code_uri' => "https://github.com/cucumber/cucumber-rails/tree/v#{s.version}" } - s.add_runtime_dependency('capybara', '>= 3.11', '< 4') - s.add_runtime_dependency('cucumber', '>= 5', '< 10') - s.add_runtime_dependency('railties', '>= 5.2', '< 9') + s.add_runtime_dependency('capybara', '>= 3.16', '< 4') + s.add_runtime_dependency('cucumber', '>= 5', '< 11') + s.add_runtime_dependency('railties', '>= 6.1', '< 9') # Main development dependencies s.add_development_dependency('ammeter', '>= 1.1.5') From 7e1a509aa2fe92863c175e65aad3fabe36fd6051 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Wed, 5 Feb 2025 15:56:24 +0000 Subject: [PATCH 02/14] Amend rakefile to permit just running unit tests --- Rakefile | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index 7e53ecfa..5243ce25 100644 --- a/Rakefile +++ b/Rakefile @@ -18,15 +18,25 @@ namespace :test do Rake::Task['appraisal'].invoke('test') end - desc 'Run tests against specified gemfile, e.g. rake test:gemfile[rails_6_0]' - task :gemfile, :name do |_task, args| + desc 'Run tests against specified gemfile, e.g. rake test:gemfile[rails_8_0]' + task :full, :name do |_task, args| unless args.name && File.exist?("gemfiles/#{args.name}.gemfile") raise ArgumentError, "You must provide the name of an existing Appraisal gemfile, - e.g. 'rake test:gemfile[rails_6_0]'" + e.g. 'rake test:full[rails_8_0]'" end Rake::Task["appraisal:#{args.name}"].invoke('test') end + + desc 'Run unit tests only against specified gemfile, e.g. rake test:gemfile[rails_8_0]' + task :spec, :name do |_task, args| + unless args.name && File.exist?("gemfiles/#{args.name}.gemfile") + raise ArgumentError, "You must provide the name of an existing Appraisal gemfile, + e.g. 'rake test:spec[rails_8_0]'" + end + + system "BUNDLE_GEMFILE=/home/luke/Code/cucumber-rails/gemfiles/#{args.name}.gemfile bundle exec rspec" + end end namespace :gemfiles do From 4a64c972bc41f05a3abe7bb16aaa13f31a01d16b Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Mon, 17 Feb 2025 16:45:06 +0000 Subject: [PATCH 03/14] Remove all traces to conditionals based on rails 6.0 or lower - rails 6.1 is the minim um now --- features/support/cucumber_rails_gem_helper.rb | 16 +++------------- features/support/cucumber_rails_setup_helper.rb | 8 ++------ lib/cucumber/rails/action_dispatch.rb | 2 +- lib/cucumber/rails/database/strategy.rb | 2 +- lib/generators/cucumber/install_generator.rb | 2 +- .../cucumber/install_generator_spec.rb | 14 ++++++-------- 6 files changed, 14 insertions(+), 30 deletions(-) diff --git a/features/support/cucumber_rails_gem_helper.rb b/features/support/cucumber_rails_gem_helper.rb index 293d78e1..061d812a 100644 --- a/features/support/cucumber_rails_gem_helper.rb +++ b/features/support/cucumber_rails_gem_helper.rb @@ -34,23 +34,17 @@ def add_cucumber_rails(options) def add_sqlite3_gem if rails_equal_or_higher_than?('7.1') add_gem 'sqlite3', '~> 2.0' - elsif rails_equal_or_higher_than?('6.0') - add_gem 'sqlite3', '~> 1.4' else - add_gem 'sqlite3', '~> 1.3.13' + add_gem 'sqlite3', '~> 1.4' end end def add_selenium_webdriver_gem if rails_equal_or_higher_than?('7.0') add_gem 'selenium-webdriver', '~> 4.22', group: :test - elsif rails_equal_or_higher_than?('6.0') + else add_gem 'selenium-webdriver', '~> 4.0', group: :test add_gem 'webdrivers', '~> 5.0', group: :test - else - add_gem 'selenium-webdriver', '< 4', group: :test - add_gem 'webdrivers', '~> 4.0', group: :test - remove_gem 'chromedriver-helper' end end @@ -59,11 +53,7 @@ def add_remaining_gems(options) add_gem 'capybara', Capybara::VERSION, group: :test add_gem 'database_cleaner', '>= 2.0.0', group: :test unless options.include?(:no_database_cleaner) add_gem 'database_cleaner-active_record', '>= 2.0.0', group: :test if options.include?(:database_cleaner_active_record) - if rails_equal_or_higher_than?('6.0') - add_gem 'factory_bot', '>= 6.4', group: :test unless options.include?(:no_factory_bot) - else - add_gem 'factory_bot', '< 6.4', group: :test unless options.include?(:no_factory_bot) - end + add_gem 'factory_bot', '>= 6.4', group: :test unless options.include?(:no_factory_bot) add_gem 'rspec-expectations', '~> 3.12', group: :test end diff --git a/features/support/cucumber_rails_setup_helper.rb b/features/support/cucumber_rails_setup_helper.rb index 89357708..88b5f321 100644 --- a/features/support/cucumber_rails_setup_helper.rb +++ b/features/support/cucumber_rails_setup_helper.rb @@ -19,8 +19,8 @@ def rails_new(options = {}) def run_rails_new_command(options) flags = %w[--skip-action-cable --skip-action-mailer --skip-active-job --skip-bootsnap --skip-bundle --skip-javascript - --skip-jbuilder --skip-listen --skip-spring --skip-sprockets --skip-test-unit --skip-turbolinks --skip-active-storage] - flags += %w[--skip-action-mailbox --skip-action-text] if rails_equal_or_higher_than?('6.0') + --skip-jbuilder --skip-listen --skip-spring --skip-sprockets --skip-test-unit --skip-turbolinks + --skip-active-storage --skip-action-mailbox --skip-action-text] run_command "bundle exec rails new test_app #{flags.join(' ')} #{options[:args]}" end @@ -43,10 +43,6 @@ def clear_bundle_env_vars unset_bundler_env_vars delete_environment_variable 'BUNDLE_GEMFILE' end - - def rails_equal_or_higher_than?(version) - Rails.gem_version >= Gem::Version.new(version) - end end World(CucumberRailsSetupHelper) diff --git a/lib/cucumber/rails/action_dispatch.rb b/lib/cucumber/rails/action_dispatch.rb index 5a150304..0123d874 100644 --- a/lib/cucumber/rails/action_dispatch.rb +++ b/lib/cucumber/rails/action_dispatch.rb @@ -13,7 +13,7 @@ def call(env) show_exceptions = !env['action_dispatch.show_detailed_exceptions'] if ::Rails.gem_version >= Gem::Version.new('7.1.0') - # Rails 7.1 deprecated `show_exceptions` boolean in in favor of symbols + # Rails 7.1 deprecated `show_exceptions` boolean in favour of symbols show_exceptions = show_exceptions ? :all : :none end diff --git a/lib/cucumber/rails/database/strategy.rb b/lib/cucumber/rails/database/strategy.rb index 7e086aeb..2c064644 100644 --- a/lib/cucumber/rails/database/strategy.rb +++ b/lib/cucumber/rails/database/strategy.rb @@ -9,7 +9,7 @@ def initialize(options = {}) end def before_js(strategy) - @original_strategy = if defined?(DatabaseCleaner::VERSION) && Gem::Version.new(DatabaseCleaner::VERSION) >= Gem::Version.new('1.8.0.beta') + @original_strategy = if defined?(DatabaseCleaner) && Gem::Version.new(DatabaseCleaner::VERSION) >= Gem::Version.new('1.8.0') raise "No DatabaseCleaner strategies found. Make sure you have required one of DatabaseCleaner's adapters" if DatabaseCleaner.cleaners.empty? DatabaseCleaner.cleaners.values.first.strategy # that feels like a nasty hack diff --git a/lib/generators/cucumber/install_generator.rb b/lib/generators/cucumber/install_generator.rb index 34e77a95..46386050 100644 --- a/lib/generators/cucumber/install_generator.rb +++ b/lib/generators/cucumber/install_generator.rb @@ -34,7 +34,7 @@ def create_feature_support end def configure_environment - environment(<<~CONFIG, env: %w[development test]) if ::Rails::VERSION::MAJOR >= 6 + environment(<<~CONFIG, env: %w[development test]) # Configure 'rails notes' to inspect Cucumber files config.annotations.register_directories('features') config.annotations.register_extensions('feature') { |tag| /#\\s*(\#{tag}):?\\s*(.*)$/ } diff --git a/spec/generators/cucumber/install_generator_spec.rb b/spec/generators/cucumber/install_generator_spec.rb index 61c4f1c2..14376ecb 100644 --- a/spec/generators/cucumber/install_generator_spec.rb +++ b/spec/generators/cucumber/install_generator_spec.rb @@ -65,14 +65,12 @@ def create_config_files_the_generator_is_expected_to_modify it { is_expected.to contain 'load Cucumber::BINARY' } end - if Rails::VERSION::MAJOR >= 6 - %w[development test].each do |environment| - describe "config/environments/#{environment}.rb" do - subject { file("config/environments/#{environment}.rb") } - - it { is_expected.to contain "config.annotations.register_extensions('feature') { |tag| /#\\s*(\#{tag}):?\\s*(.*)$/ }" } - it { is_expected.to contain "config.annotations.register_directories('features')" } - end + %w[development test].each do |environment| + describe "config/environments/#{environment}.rb" do + subject { file("config/environments/#{environment}.rb") } + + it { is_expected.to contain "config.annotations.register_extensions('feature') { |tag| /#\\s*(\#{tag}):?\\s*(.*)$/ }" } + it { is_expected.to contain "config.annotations.register_directories('features')" } end end end From 6cc884f3254c962c3b6062911b33ca787d32be57 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Mon, 17 Feb 2025 16:45:30 +0000 Subject: [PATCH 04/14] Dev dep update for rails too --- cucumber-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index fbc4a807..b0f69fd8 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |s| s.add_development_dependency('appraisal', '>= 2.4.1', '< 3') s.add_development_dependency('aruba', '>= 1.1.2', '< 3') s.add_development_dependency('database_cleaner', '~> 2.0') - s.add_development_dependency('rails', '>= 5.2', '< 9') + s.add_development_dependency('rails', '>= 6.1', '< 9') s.add_development_dependency('rake', '~> 13.2') s.add_development_dependency('rspec', '~> 3.13') s.add_development_dependency('rubocop', '~> 1.45.0') From 5e4f6ae06c4ea9e6274b2f28324153209e7b017c Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Mon, 17 Feb 2025 16:46:27 +0000 Subject: [PATCH 05/14] Initial interim update for rubocop gems --- cucumber-rails.gemspec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index b0f69fd8..55f4b586 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -36,12 +36,12 @@ Gem::Specification.new do |s| s.add_development_dependency('rails', '>= 6.1', '< 9') s.add_development_dependency('rake', '~> 13.2') s.add_development_dependency('rspec', '~> 3.13') - s.add_development_dependency('rubocop', '~> 1.45.0') + s.add_development_dependency('rubocop', '~> 1.62.0') s.add_development_dependency('rubocop-packaging', '~> 0.5.2') - s.add_development_dependency('rubocop-performance', '~> 1.17.1') - s.add_development_dependency('rubocop-rails', '~> 2.18.0') + s.add_development_dependency('rubocop-performance', '~> 1.19.0') + s.add_development_dependency('rubocop-rails', '~> 2.25.0') s.add_development_dependency('rubocop-rake', '~> 0.6.0') - s.add_development_dependency('rubocop-rspec', '~> 2.17.0') + s.add_development_dependency('rubocop-rspec', '~> 2.25.0') # For Documentation: s.add_development_dependency('yard', '~> 0.9.10') From 7c762272c24a9d1ddc7c1506c75c134766e24c10 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Mon, 17 Feb 2025 16:48:07 +0000 Subject: [PATCH 06/14] Further update of all rubocop gems pending core rubocop update --- cucumber-rails.gemspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 55f4b586..45c41cb6 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -38,10 +38,10 @@ Gem::Specification.new do |s| s.add_development_dependency('rspec', '~> 3.13') s.add_development_dependency('rubocop', '~> 1.62.0') s.add_development_dependency('rubocop-packaging', '~> 0.5.2') - s.add_development_dependency('rubocop-performance', '~> 1.19.0') - s.add_development_dependency('rubocop-rails', '~> 2.25.0') + s.add_development_dependency('rubocop-performance', '~> 1.22.0') + s.add_development_dependency('rubocop-rails', '~> 2.29.0') s.add_development_dependency('rubocop-rake', '~> 0.6.0') - s.add_development_dependency('rubocop-rspec', '~> 2.25.0') + s.add_development_dependency('rubocop-rspec', '~> 3.1.0') # For Documentation: s.add_development_dependency('yard', '~> 0.9.10') From 89f7b59a9e3f7685e674b9cfcb42656b87d1f96f Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Mon, 17 Feb 2025 16:49:07 +0000 Subject: [PATCH 07/14] Add dev dependency cop config --- .rubocop.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 0b59c067..5d7f9915 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -15,6 +15,10 @@ AllCops: - 'gemfiles/*.gemfile' - 'vendor/**/*' +# Stylistic preference to keep dev dependencies in gemspec +Gemspec/DevelopmentDependencies: + Enabled: false + # Disabled on our repo's to enable polyglot-release Gemspec/RequireMFA: Enabled: false From 2f9e0cdcb3f71a58f934265c0aac20cdb469d448 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Thu, 21 Aug 2025 08:06:30 +0100 Subject: [PATCH 08/14] Fix up super brackets call --- lib/cucumber/rails/database/deletion_strategy.rb | 2 +- lib/cucumber/rails/database/truncation_strategy.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/cucumber/rails/database/deletion_strategy.rb b/lib/cucumber/rails/database/deletion_strategy.rb index 19420c37..1bb678b1 100644 --- a/lib/cucumber/rails/database/deletion_strategy.rb +++ b/lib/cucumber/rails/database/deletion_strategy.rb @@ -5,7 +5,7 @@ module Rails module Database class DeletionStrategy < Strategy def before_js - super :deletion + super(:deletion) end end end diff --git a/lib/cucumber/rails/database/truncation_strategy.rb b/lib/cucumber/rails/database/truncation_strategy.rb index 20ccbd58..869a4c47 100644 --- a/lib/cucumber/rails/database/truncation_strategy.rb +++ b/lib/cucumber/rails/database/truncation_strategy.rb @@ -5,7 +5,7 @@ module Rails module Database class TruncationStrategy < Strategy def before_js - super :truncation + super(:truncation) end end end From ae8d2137b61fbd7771c026caca522a90a292f6c2 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Thu, 21 Aug 2025 08:10:27 +0100 Subject: [PATCH 09/14] Bump minimum ruby to 3.2 and bump minimum runtime versions of cucumber and capybara --- .rubocop.yml | 2 +- cucumber-rails.gemspec | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 5d7f9915..a13d61c4 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -6,7 +6,7 @@ require: - rubocop-rspec AllCops: - TargetRubyVersion: 3.1 + TargetRubyVersion: 3.2 NewCops: enable Exclude: # These are auto-generated from a load of features that use aruba diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 45c41cb6..7adddb49 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -13,7 +13,7 @@ Gem::Specification.new do |s| s.license = 'MIT' - s.required_ruby_version = '>= 3.1.0' + s.required_ruby_version = '>= 3.2.0' s.required_rubygems_version = '>= 3.2.8' s.metadata = { @@ -24,17 +24,17 @@ Gem::Specification.new do |s| 'source_code_uri' => "https://github.com/cucumber/cucumber-rails/tree/v#{s.version}" } - s.add_runtime_dependency('capybara', '>= 3.16', '< 4') - s.add_runtime_dependency('cucumber', '>= 5', '< 11') + s.add_runtime_dependency('capybara', '>= 3.25', '< 4') + s.add_runtime_dependency('cucumber', '>= 7', '< 11') s.add_runtime_dependency('railties', '>= 6.1', '< 9') # Main development dependencies s.add_development_dependency('ammeter', '>= 1.1.5') s.add_development_dependency('appraisal', '>= 2.4.1', '< 3') - s.add_development_dependency('aruba', '>= 1.1.2', '< 3') + s.add_development_dependency('aruba', '~> 2.0') s.add_development_dependency('database_cleaner', '~> 2.0') s.add_development_dependency('rails', '>= 6.1', '< 9') - s.add_development_dependency('rake', '~> 13.2') + s.add_development_dependency('rake', '~> 13.3') s.add_development_dependency('rspec', '~> 3.13') s.add_development_dependency('rubocop', '~> 1.62.0') s.add_development_dependency('rubocop-packaging', '~> 0.5.2') From 6fb972beafd3e9b93f64cc5c2e408690c4e1f2ae Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Thu, 21 Aug 2025 08:16:21 +0100 Subject: [PATCH 10/14] Updated appraisals files for gem install commands on legacy rails installs --- Appraisals | 4 ++++ gemfiles/rails_6_1.gemfile | 1 + gemfiles/rails_7_0.gemfile | 1 + gemfiles/rails_7_1.gemfile | 2 ++ 4 files changed, 8 insertions(+) diff --git a/Appraisals b/Appraisals index 6d94c614..286545b0 100644 --- a/Appraisals +++ b/Appraisals @@ -4,6 +4,7 @@ appraise 'rails_6_1' do gem 'activerecord' gem 'capybara', '< 3.38' gem 'concurrent-ruby', '< 1.3.5' + gem 'cucumber', '< 11' gem 'factory_bot', '< 6.4' gem 'psych', '< 4' gem 'railties', '~> 6.1.7' @@ -12,6 +13,7 @@ end appraise 'rails_7_0' do gem 'activerecord' + gem 'capybara', '< 3.41' gem 'concurrent-ruby', '< 1.3.5' gem 'cucumber', '< 10' gem 'factory_bot', '< 6.6' @@ -21,6 +23,8 @@ end appraise 'rails_7_1' do gem 'activerecord' + gem 'capybara', '< 3.41' + gem 'cucumber', '< 10' gem 'railties', '~> 7.1.5' gem 'sqlite3', '~> 2.0' end diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_6_1.gemfile index f241c01b..195dc7db 100644 --- a/gemfiles/rails_6_1.gemfile +++ b/gemfiles/rails_6_1.gemfile @@ -5,6 +5,7 @@ source "https://rubygems.org" gem "activerecord" gem "capybara", "< 3.38" gem "concurrent-ruby", "< 1.3.5" +gem "cucumber", "< 11" gem "factory_bot", "< 6.4" gem "psych", "< 4" gem "railties", "~> 6.1.7" diff --git a/gemfiles/rails_7_0.gemfile b/gemfiles/rails_7_0.gemfile index efc5032b..26c95132 100644 --- a/gemfiles/rails_7_0.gemfile +++ b/gemfiles/rails_7_0.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "activerecord" +gem "capybara", "< 3.41" gem "concurrent-ruby", "< 1.3.5" gem "cucumber", "< 10" gem "factory_bot", "< 6.6" diff --git a/gemfiles/rails_7_1.gemfile b/gemfiles/rails_7_1.gemfile index 63ae6858..56889541 100644 --- a/gemfiles/rails_7_1.gemfile +++ b/gemfiles/rails_7_1.gemfile @@ -3,6 +3,8 @@ source "https://rubygems.org" gem "activerecord" +gem "capybara", "< 3.41" +gem "cucumber", "< 10" gem "railties", "~> 7.1.5" gem "sqlite3", "~> 2.0" From d51d2cfa67f15c4a59635dd2bfc1a43f5453d807 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Thu, 21 Aug 2025 08:16:48 +0100 Subject: [PATCH 11/14] Attribution --- cucumber-rails.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index 7adddb49..679f2e14 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -5,7 +5,7 @@ $LOAD_PATH.unshift File.expand_path('lib', __dir__) Gem::Specification.new do |s| s.name = 'cucumber-rails' s.version = File.read("#{__dir__}/VERSION") - s.authors = ['Aslak Hellesøy', 'Dennis Blöte', 'Rob Holland'] + s.authors = ['Aslak Hellesøy', 'Dennis Blöte', 'Rob Holland', 'Luke Hill'] s.description = 'Cucumber Generator and Runtime for Rails' s.summary = "#{s.name}-#{s.version}" s.email = 'cukes@googlegroups.com' From c6cff1d87595180de2986dc96e8e0d1c13f968e0 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Thu, 21 Aug 2025 08:22:48 +0100 Subject: [PATCH 12/14] Add changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bdf3d310..3cfd044a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 This file is intended to be modified using the [`changelog`](https://github.com/cucumber/changelog) command-line tool. ## [Unreleased] +### Removed +- Removed support for Ruby 2.6 - 3.1 (Ruby 3.2 is now the lowest version) +- Removed support for Rails 5.2 and 6.0 (6.1 is still supported and 7.0+ is preferred) + +### Changed +- In-line with minimum ruby / rails, a lot of internal non-breaking refactors have been done to remove legacy code ## [3.1.1] - 2025-01-30 ### Changed From 8bd7ef19bd8a28f1228adc92353fd21258f622fb Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Thu, 21 Aug 2025 08:24:29 +0100 Subject: [PATCH 13/14] FIx rubocop anonymous forwarder --- features/support/cucumber_rails_gem_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/support/cucumber_rails_gem_helper.rb b/features/support/cucumber_rails_gem_helper.rb index 061d812a..c4b5d446 100644 --- a/features/support/cucumber_rails_gem_helper.rb +++ b/features/support/cucumber_rails_gem_helper.rb @@ -76,8 +76,8 @@ def remove_gem(name) overwrite_file('Gemfile', content) end - def add_gem(name, *args) - line = convert_gem_opts_to_string(name, *args) + def add_gem(name, *) + line = convert_gem_opts_to_string(name, *) gem_regexp = /gem ["']#{name}["'].*$/ gemfile_content = File.read(expand_path('Gemfile')) From b6f923be298efe10259b3f9ac533d10c2da08d75 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Thu, 21 Aug 2025 08:29:32 +0100 Subject: [PATCH 14/14] Update test matrix and checkout version --- .github/workflows/release.yml | 4 ++-- .github/workflows/test.yml | 7 ++----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5b9d0054..124f2d54 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest environment: Release steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: cucumber/action-publish-rubygem@v1.0.0 with: rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }} @@ -31,7 +31,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: cucumber/action-create-github-release@v1.1.1 with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 06c87a4f..5c24c959 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,27 +23,24 @@ jobs: # - rails versions if their patch release is within 6 months of the Ruby EOL date # - No version of the current rails major # - # 3.1 -> EOL Mar '25 -> Only test Rails versions initially released before Sep '25 # 3.2 -> EOL Mar '26 -> Only test Rails versions initially released before Sep '26 include: - { ruby: '3.4', gemfile: 'rails_7_2' } - { ruby: '3.4', gemfile: 'rails_8_0' } # Supported rubies will test all permissible supported rails versions - ruby: ['3.1', '3.2', '3.3'] + ruby: ['3.2', '3.3'] gemfile: ['rails_6_1', 'rails_7_0', 'rails_7_1', 'rails_7_2', 'rails_8_0'] exclude: # Ruby 3.1+ has issues with Rails 6.1 https://github.com/rails/rails/issues/46883#issuecomment-1371325906 # It (Rails 6.1.x), has been marked as a won't fix and as such it's likely this will need to just be excluded until out of support window # Ruby 3.1+ has a conflicting Psych version with Rails 6.x: https://stackoverflow.com/questions/71191685/visit-psych-nodes-alias-unknown-alias-default-psychbadalias # Rails 8.x has a minimum ruby of 3.2 - - { ruby: '3.1', gemfile: 'rails_6_1' } - - { ruby: '3.1', gemfile: 'rails_8_0' } - { ruby: '3.2', gemfile: 'rails_6_1' } - { ruby: '3.3', gemfile: 'rails_6_1' } env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }}