diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6b68038c..9a006563 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,6 +26,7 @@ jobs: # 2.6 -> EOL Mar '22 -> Only test Rails versions initially released before Sep '22 # 2.7 -> EOL Mar '23 -> Only test Rails versions initially released before Sep '23 # 3.0 -> EOL Mar '24 -> Only test Rails versions initially released before Sep '24 + # 3.1 -> EOL Mar '25 -> Only test Rails versions initially released before Sep '25 include: - { ruby: '2.6', gemfile: 'rails_5_2' } - { ruby: '2.7', gemfile: 'rails_6_0' } diff --git a/Appraisals b/Appraisals index 5ce2976c..9ecd6f45 100644 --- a/Appraisals +++ b/Appraisals @@ -3,6 +3,7 @@ appraise 'rails_5_2' do gem 'activerecord' gem 'capybara', '< 3.33' + gem 'concurrent-ruby', '< 1.3.5' gem 'cucumber', '< 6' gem 'factory_bot', '< 6.4' gem 'psych', '< 4' @@ -14,6 +15,7 @@ end appraise 'rails_6_0' do gem 'activerecord' gem 'capybara', '< 3.35' + gem 'concurrent-ruby', '< 1.3.5' gem 'cucumber', '< 6' gem 'factory_bot', '< 6.4' gem 'matrix' @@ -26,6 +28,7 @@ end appraise 'rails_6_1' do gem 'activerecord' gem 'capybara', '< 3.38' + gem 'concurrent-ruby', '< 1.3.5' gem 'factory_bot', '< 6.4' gem 'psych', '< 4' gem 'railties', '~> 6.1.7' @@ -34,6 +37,7 @@ end appraise 'rails_7_0' do gem 'activerecord' + gem 'concurrent-ruby', '< 1.3.5' gem 'cucumber', '< 10' gem 'factory_bot', '< 6.6' gem 'railties', '~> 7.0.8' diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f1cc591..8483c8b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,11 @@ 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] +### Changed +- Updated some dev dependencies and improved some dev rake tasks to make testing leaner ## [3.1.0] - 2024-11-25 +- Add support for Rails 8.0 (No code changes required) [#590](https://github.com/cucumber/cucumber-rails/pull/590) ## [3.0.1] - 2024-11-05 ### Changed diff --git a/Rakefile b/Rakefile index b85c88ec..ed1ec08a 100644 --- a/Rakefile +++ b/Rakefile @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'appraisal' -require 'pathname' require 'cucumber/rake/task' require 'rspec/core/rake_task' @@ -21,7 +20,7 @@ namespace :test do desc 'Run tests against specified gemfile, e.g. rake test:gemfile[rails_6_0]' task :gemfile, :name do |_task, args| - unless args.name && Pathname.new("gemfiles/#{args.name}.gemfile").exist? + 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]'" end diff --git a/cucumber-rails.gemspec b/cucumber-rails.gemspec index d20ec394..08163088 100644 --- a/cucumber-rails.gemspec +++ b/cucumber-rails.gemspec @@ -32,10 +32,10 @@ Gem::Specification.new do |s| 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('database_cleaner', '>= 1.8', '< 3.0') + s.add_development_dependency('database_cleaner', '~> 2.0') s.add_development_dependency('rails', '>= 5.2', '< 9') - s.add_development_dependency('rake', '>= 13.0') - s.add_development_dependency('rspec', '~> 3.12') + 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-packaging', '~> 0.5.2') s.add_development_dependency('rubocop-performance', '~> 1.17.1') @@ -47,5 +47,5 @@ Gem::Specification.new do |s| s.add_development_dependency('yard', '~> 0.9.10') s.require_path = 'lib' - s.files = Dir['lib/**/*', 'CHANGELOG.md', 'CONTRIBUTING.md', 'LICENSE', 'README.md'] + s.files = Dir['lib/**/*', 'CHANGELOG.md', 'LICENSE', 'README.md'] end diff --git a/features/support/cucumber_rails_gem_helper.rb b/features/support/cucumber_rails_gem_helper.rb index 38c6da06..293d78e1 100644 --- a/features/support/cucumber_rails_gem_helper.rb +++ b/features/support/cucumber_rails_gem_helper.rb @@ -20,6 +20,7 @@ def install_cucumber_rails(*options) def configure_rails_gems %w[bootsnap byebug jbuilder listen rails sass-rails turbolinks webpacker].each { |gem| remove_gem(gem) } %w[railties activerecord actionpack].each { |rails_gem| add_gem(rails_gem, Rails.version) } + add_gem 'concurrent-ruby', '< 1.3.5' unless rails_equal_or_higher_than?('7.1') end def add_cucumber_rails(options) diff --git a/gemfiles/rails_5_2.gemfile b/gemfiles/rails_5_2.gemfile index 2c2df730..229b959d 100644 --- a/gemfiles/rails_5_2.gemfile +++ b/gemfiles/rails_5_2.gemfile @@ -4,6 +4,7 @@ source "https://rubygems.org" gem "activerecord" gem "capybara", "< 3.33" +gem "concurrent-ruby", "< 1.3.5" gem "cucumber", "< 6" gem "factory_bot", "< 6.4" gem "psych", "< 4" diff --git a/gemfiles/rails_6_0.gemfile b/gemfiles/rails_6_0.gemfile index e2018574..a9df4acf 100644 --- a/gemfiles/rails_6_0.gemfile +++ b/gemfiles/rails_6_0.gemfile @@ -4,6 +4,7 @@ source "https://rubygems.org" gem "activerecord" gem "capybara", "< 3.35" +gem "concurrent-ruby", "< 1.3.5" gem "cucumber", "< 6" gem "factory_bot", "< 6.4" gem "matrix" diff --git a/gemfiles/rails_6_1.gemfile b/gemfiles/rails_6_1.gemfile index ed7fc2c0..f241c01b 100644 --- a/gemfiles/rails_6_1.gemfile +++ b/gemfiles/rails_6_1.gemfile @@ -4,6 +4,7 @@ source "https://rubygems.org" gem "activerecord" gem "capybara", "< 3.38" +gem "concurrent-ruby", "< 1.3.5" 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 ddd0b42f..efc5032b 100644 --- a/gemfiles/rails_7_0.gemfile +++ b/gemfiles/rails_7_0.gemfile @@ -3,6 +3,7 @@ source "https://rubygems.org" gem "activerecord" +gem "concurrent-ruby", "< 1.3.5" gem "cucumber", "< 10" gem "factory_bot", "< 6.6" gem "railties", "~> 7.0.8"