From 259055da2dbb56235d5a7deef90a5e88d6dfe0ae Mon Sep 17 00:00:00 2001 From: Mathieu Jobin Date: Sun, 27 Mar 2022 19:55:44 +0900 Subject: [PATCH] allow rails 7, execute tests with cucumber 6 and 7 (#92) * allow rails 7, execute tests with cucumber 6 and 7 * https in gemfiles * rails 7 is out and ruby 3.0 needs to be quoted * bump version * rails 4.2 .lock update * Add ruby 3.1 to the build matrix, only Rails 7 supports ruby 3.1 --- .github/workflows/build.yml | 45 ++++++++++++++++++++++++++-- README.md | 4 +-- gemfiles/Gemfile-rails.4.2.x | 2 +- gemfiles/Gemfile-rails.4.2.x.lock | 34 +++++++++++---------- gemfiles/Gemfile-rails.5.0.x | 2 +- gemfiles/Gemfile-rails.5.1.x | 2 +- gemfiles/Gemfile-rails.5.2.x | 2 +- gemfiles/Gemfile-rails.5.2.x-cukes-4 | 2 +- gemfiles/Gemfile-rails.5.2.x-cukes-5 | 2 +- gemfiles/Gemfile-rails.6.0.x-cukes-3 | 2 +- gemfiles/Gemfile-rails.6.0.x-cukes-4 | 2 +- gemfiles/Gemfile-rails.6.0.x-cukes-5 | 2 +- gemfiles/Gemfile-rails.6.0.x-cukes-6 | 2 +- gemfiles/Gemfile-rails.6.0.x-cukes-7 | 2 +- gemfiles/Gemfile-rails.6.1.x-cukes-3 | 2 +- gemfiles/Gemfile-rails.6.1.x-cukes-4 | 2 +- gemfiles/Gemfile-rails.6.1.x-cukes-5 | 2 +- gemfiles/Gemfile-rails.6.1.x-cukes-6 | 2 +- gemfiles/Gemfile-rails.6.1.x-cukes-7 | 2 +- gemfiles/Gemfile-rails.7.0.x-cukes-6 | 11 +++++++ gemfiles/Gemfile-rails.7.0.x-cukes-7 | 11 +++++++ gemfiles/Gemfile-rails.edge | 2 +- lib/pickle/version.rb | 2 +- pickle.gemspec | 2 +- 24 files changed, 104 insertions(+), 39 deletions(-) create mode 100644 gemfiles/Gemfile-rails.7.0.x-cukes-6 create mode 100644 gemfiles/Gemfile-rails.7.0.x-cukes-7 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2ede515c..d420d848 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,8 @@ jobs: fail-fast: false matrix: ruby: - - 3.0 + - '3.1' + - '3.0' - 2.7 - 2.6 - 2.5 @@ -38,9 +39,11 @@ jobs: # Cucumber 6 - Gemfile-rails.6.0.x-cukes-6 - Gemfile-rails.6.1.x-cukes-6 + - Gemfile-rails.7.0.x-cukes-6 # Cucumber 7 - Gemfile-rails.6.0.x-cukes-7 - Gemfile-rails.6.1.x-cukes-7 + - Gemfile-rails.7.0.x-cukes-7 # Edge - Gemfile-rails.edge exclude: @@ -49,10 +52,48 @@ jobs: ruby: 2.6 - gemfile: Gemfile-rails.edge ruby: 2.5 + - gemfile: Gemfile-rails.7.0.x-cukes-7 + ruby: 2.6 + - gemfile: Gemfile-rails.7.0.x-cukes-7 + ruby: 2.5 + - gemfile: Gemfile-rails.7.0.x-cukes-6 + ruby: 2.6 + - gemfile: Gemfile-rails.7.0.x-cukes-6 + ruby: 2.5 - gemfile: Gemfile-rails.4.2.x ruby: 2.7 - gemfile: Gemfile-rails.4.2.x - ruby: 3.0 + ruby: '3.0' + - gemfile: Gemfile-rails.4.2.x + ruby: '3.1' + - gemfile: Gemfile-rails.5.0.x + ruby: '3.1' + - gemfile: Gemfile-rails.5.1.x + ruby: '3.1' + - gemfile: Gemfile-rails.5.2.x + ruby: '3.1' + - gemfile: Gemfile-rails.6.0.x-cukes-3 + ruby: '3.1' + - gemfile: Gemfile-rails.6.1.x-cukes-3 + ruby: '3.1' + - gemfile: Gemfile-rails.5.2.x-cukes-4 + ruby: '3.1' + - gemfile: Gemfile-rails.6.0.x-cukes-4 + ruby: '3.1' + - gemfile: Gemfile-rails.5.2.x-cukes-5 + ruby: '3.1' + - gemfile: Gemfile-rails.6.0.x-cukes-5 + ruby: '3.1' + - gemfile: Gemfile-rails.6.1.x-cukes-5 + ruby: '3.1' + - gemfile: Gemfile-rails.6.0.x-cukes-6 + ruby: '3.1' + - gemfile: Gemfile-rails.6.1.x-cukes-6 + ruby: '3.1' + - gemfile: Gemfile-rails.6.0.x-cukes-7 + ruby: '3.1' + - gemfile: Gemfile-rails.6.1.x-cukes-7 + ruby: '3.1' env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }} diff --git a/README.md b/README.md index 671b8c74..b06463a9 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ Cucumber 2.x - support was dropped from release 0.6.0 Cucumber 3.x - support is best-effort basis, but tests run on rails 4.2 all the way until 6.1 Cucumber 4.x - should work with all Rails 5.x versions, tests only run for 5.2 and 6.0 Cucumber 5.x - all tests pass for rails 5.2, 6.0 and 6.1 -Cucumber 6.x - all tests pass for rails 6.0 and 6.1 -Cucumber 7.x - all tests pass for rails 6.0 and 6.1 +Cucumber 6.x - all tests pass for rails 6.0, 6.1 and 7.0 +Cucumber 7.x - all tests pass for rails 6.0, 6.1 and 7.0 Please open pull-requests with fixes if you encounter any problems. No active development on this gem. diff --git a/gemfiles/Gemfile-rails.4.2.x b/gemfiles/Gemfile-rails.4.2.x index 061ae3ba..5d6aef14 100644 --- a/gemfiles/Gemfile-rails.4.2.x +++ b/gemfiles/Gemfile-rails.4.2.x @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.4.2.x.lock b/gemfiles/Gemfile-rails.4.2.x.lock index 71864e11..1c0c0c3f 100644 --- a/gemfiles/Gemfile-rails.4.2.x.lock +++ b/gemfiles/Gemfile-rails.4.2.x.lock @@ -8,12 +8,12 @@ GIT PATH remote: .. specs: - pickle (0.6.2) + pickle (0.7.0) cucumber (>= 3.0, < 8.0) rake GEM - remote: http://rubygems.org/ + remote: https://rubygems.org/ specs: actionmailer (4.2.11.3) actionpack (= 4.2.11.3) @@ -52,7 +52,7 @@ GEM addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) arel (6.0.4) - backports (3.21.0) + backports (3.23.0) builder (3.2.4) capybara (3.35.3) addressable @@ -64,7 +64,7 @@ GEM xpath (~> 3.2) codecov (0.6.0) simplecov (>= 0.15, < 0.22) - concurrent-ruby (1.1.9) + concurrent-ruby (1.1.10) crass (1.0.6) cucumber (3.2.0) builder (>= 2.1.2) @@ -89,37 +89,37 @@ GEM cucumber-tag_expressions (1.1.1) cucumber-wire (0.0.1) database_cleaner (1.99.0) - diff-lcs (1.4.4) + diff-lcs (1.5.0) docile (1.4.0) erubis (2.7.0) factory_bot (5.2.0) activesupport (>= 4.2.0) gherkin (5.1.0) - git (1.9.1) + git (1.10.2) rchardet (~> 1.8) globalid (0.4.2) activesupport (>= 4.2.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - loofah (2.12.0) + loofah (2.15.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) machinist (2.0) mail (2.7.1) mini_mime (>= 0.1.1) - mime-types (3.3.1) + mime-types (3.4.1) mime-types-data (~> 3.2015) - mime-types-data (3.2021.0901) + mime-types-data (3.2022.0105) mini_mime (1.1.2) mini_portile2 (2.6.1) - minitest (5.14.4) + minitest (5.15.0) multi_json (1.15.0) multi_test (0.1.2) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) public_suffix (4.0.6) - racc (1.5.2) + racc (1.6.0) rack (1.6.13) rack-test (0.6.3) rack (>= 1.0) @@ -149,7 +149,7 @@ GEM thor (>= 0.18.1, < 2.0) rake (13.0.6) rchardet (1.8.0) - regexp_parser (2.1.1) + regexp_parser (2.2.1) rspec-core (3.9.3) rspec-support (~> 3.9.3) rspec-expectations (3.9.4) @@ -172,8 +172,8 @@ GEM simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) - simplecov_json_formatter (0.1.3) - sprockets (4.0.2) + simplecov_json_formatter (0.1.4) + sprockets (4.0.3) concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-rails (3.2.2) @@ -181,13 +181,15 @@ GEM activesupport (>= 4.0) sprockets (>= 3.0.0) sqlite3 (1.3.13) - thor (1.1.0) + thor (1.2.1) thread_safe (0.3.6) tzinfo (1.2.9) thread_safe (~> 0.1) + webrick (1.7.0) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.26) + yard (0.9.27) + webrick (~> 1.7.0) PLATFORMS ruby diff --git a/gemfiles/Gemfile-rails.5.0.x b/gemfiles/Gemfile-rails.5.0.x index 054cf790..388f36e6 100644 --- a/gemfiles/Gemfile-rails.5.0.x +++ b/gemfiles/Gemfile-rails.5.0.x @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.5.1.x b/gemfiles/Gemfile-rails.5.1.x index 4dd76f7a..74b45b55 100644 --- a/gemfiles/Gemfile-rails.5.1.x +++ b/gemfiles/Gemfile-rails.5.1.x @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.5.2.x b/gemfiles/Gemfile-rails.5.2.x index bf4f3cf9..d7ec11b7 100644 --- a/gemfiles/Gemfile-rails.5.2.x +++ b/gemfiles/Gemfile-rails.5.2.x @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.5.2.x-cukes-4 b/gemfiles/Gemfile-rails.5.2.x-cukes-4 index 77296ac7..0e0acc60 100644 --- a/gemfiles/Gemfile-rails.5.2.x-cukes-4 +++ b/gemfiles/Gemfile-rails.5.2.x-cukes-4 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.5.2.x-cukes-5 b/gemfiles/Gemfile-rails.5.2.x-cukes-5 index 128eca64..f4a32a67 100644 --- a/gemfiles/Gemfile-rails.5.2.x-cukes-5 +++ b/gemfiles/Gemfile-rails.5.2.x-cukes-5 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.0.x-cukes-3 b/gemfiles/Gemfile-rails.6.0.x-cukes-3 index c21c46a0..71ac697f 100644 --- a/gemfiles/Gemfile-rails.6.0.x-cukes-3 +++ b/gemfiles/Gemfile-rails.6.0.x-cukes-3 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.0.x-cukes-4 b/gemfiles/Gemfile-rails.6.0.x-cukes-4 index 876229fd..593b4d1f 100644 --- a/gemfiles/Gemfile-rails.6.0.x-cukes-4 +++ b/gemfiles/Gemfile-rails.6.0.x-cukes-4 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.0.x-cukes-5 b/gemfiles/Gemfile-rails.6.0.x-cukes-5 index a340708b..16c51fff 100644 --- a/gemfiles/Gemfile-rails.6.0.x-cukes-5 +++ b/gemfiles/Gemfile-rails.6.0.x-cukes-5 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.0.x-cukes-6 b/gemfiles/Gemfile-rails.6.0.x-cukes-6 index d647a7a5..1e2e62bd 100644 --- a/gemfiles/Gemfile-rails.6.0.x-cukes-6 +++ b/gemfiles/Gemfile-rails.6.0.x-cukes-6 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.0.x-cukes-7 b/gemfiles/Gemfile-rails.6.0.x-cukes-7 index 0505a50d..77b88525 100644 --- a/gemfiles/Gemfile-rails.6.0.x-cukes-7 +++ b/gemfiles/Gemfile-rails.6.0.x-cukes-7 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.1.x-cukes-3 b/gemfiles/Gemfile-rails.6.1.x-cukes-3 index fb16a712..cbf6fe28 100644 --- a/gemfiles/Gemfile-rails.6.1.x-cukes-3 +++ b/gemfiles/Gemfile-rails.6.1.x-cukes-3 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.1.x-cukes-4 b/gemfiles/Gemfile-rails.6.1.x-cukes-4 index c21bf8ce..66ee55a1 100644 --- a/gemfiles/Gemfile-rails.6.1.x-cukes-4 +++ b/gemfiles/Gemfile-rails.6.1.x-cukes-4 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.1.x-cukes-5 b/gemfiles/Gemfile-rails.6.1.x-cukes-5 index 70fce6bc..405adb4d 100644 --- a/gemfiles/Gemfile-rails.6.1.x-cukes-5 +++ b/gemfiles/Gemfile-rails.6.1.x-cukes-5 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.1.x-cukes-6 b/gemfiles/Gemfile-rails.6.1.x-cukes-6 index e88377f7..0629eec9 100644 --- a/gemfiles/Gemfile-rails.6.1.x-cukes-6 +++ b/gemfiles/Gemfile-rails.6.1.x-cukes-6 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.6.1.x-cukes-7 b/gemfiles/Gemfile-rails.6.1.x-cukes-7 index 300171c1..c2ea9383 100644 --- a/gemfiles/Gemfile-rails.6.1.x-cukes-7 +++ b/gemfiles/Gemfile-rails.6.1.x-cukes-7 @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/gemfiles/Gemfile-rails.7.0.x-cukes-6 b/gemfiles/Gemfile-rails.7.0.x-cukes-6 new file mode 100644 index 00000000..93691283 --- /dev/null +++ b/gemfiles/Gemfile-rails.7.0.x-cukes-6 @@ -0,0 +1,11 @@ +source "https://rubygems.org" + +# Bundler 1.x default to insecure http:// for github: shortcut +git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } + +gemspec :path => ".." + +gem "rails", "~> 7.0.2" +gem "cucumber", "~> 6.0" +gem "cucumber-rails" +gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800' diff --git a/gemfiles/Gemfile-rails.7.0.x-cukes-7 b/gemfiles/Gemfile-rails.7.0.x-cukes-7 new file mode 100644 index 00000000..c20dda61 --- /dev/null +++ b/gemfiles/Gemfile-rails.7.0.x-cukes-7 @@ -0,0 +1,11 @@ +source "https://rubygems.org" + +# Bundler 1.x default to insecure http:// for github: shortcut +git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } + +gemspec :path => ".." + +gem "rails", "~> 7.0.2" +gem "cucumber", "~> 7.0" +gem "cucumber-rails" +gem 'fabrication', github: 'mathieujobin/fabrication', ref: '923cf6fcefd0566b1d6be7bd2f685b89388f4800' diff --git a/gemfiles/Gemfile-rails.edge b/gemfiles/Gemfile-rails.edge index 92b504bb..7c10d403 100644 --- a/gemfiles/Gemfile-rails.edge +++ b/gemfiles/Gemfile-rails.edge @@ -1,4 +1,4 @@ -source "http://rubygems.org" +source "https://rubygems.org" # Bundler 1.x default to insecure http:// for github: shortcut git_source(:github){ |repo_name| "https://github.com/#{repo_name}.git" } diff --git a/lib/pickle/version.rb b/lib/pickle/version.rb index 72709bef..49f1690a 100644 --- a/lib/pickle/version.rb +++ b/lib/pickle/version.rb @@ -1,3 +1,3 @@ module Pickle - VERSION = "0.6.2" + VERSION = "0.7.0" end diff --git a/pickle.gemspec b/pickle.gemspec index 33739661..380c4037 100644 --- a/pickle.gemspec +++ b/pickle.gemspec @@ -27,7 +27,7 @@ Gem::Specification.new do |s| s.add_development_dependency "git" s.add_development_dependency "yard" s.add_development_dependency "rspec-rails", "~>3.0" - s.add_development_dependency "rails", ">= 4.2.0", "< 7.0" + s.add_development_dependency "rails", ">= 4.2.0", "< 8.0" s.add_development_dependency "cucumber-rails" s.add_development_dependency "factory_bot" s.add_development_dependency "fabrication", '~> 2.0'