Skip to content

Commit

Permalink
Merge pull request #482 from cucumber/feature/updated_support
Browse files Browse the repository at this point in the history
Feature/updated support
  • Loading branch information
luke-hill authored Sep 28, 2020
2 parents 208949b + 7cc892e commit 8ebf772
Show file tree
Hide file tree
Showing 11 changed files with 47 additions and 42 deletions.
13 changes: 10 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,15 @@ matrix:
allow_failures:
- rvm: ruby-head
exclude:
# Only test Rails6 on supported rubies
# Don't test lowest rails support on maintained rubies
# Only test latest Rails (Of each major), on actively supported Ruby Versions
# Only test latest Ruby with latest Rails versions (Of each major)
# 2.4 -> Not 5.2/6.0
# 2.5 -> Anything
# 2.6 -> Users of this should be using Rails 5.2+
# 2.7 -> Users of this should be using Rails 5.2+
# head -> Users of this should be using Rails 5.2+
- rvm: 2.4
gemfile: gemfiles/rails_5_2.gemfile
- rvm: 2.4
gemfile: gemfiles/rails_6_0.gemfile
- rvm: 2.6
Expand All @@ -48,6 +55,6 @@ matrix:
gemfile: gemfiles/rails_5_1.gemfile

before_install:
- gem install --remote bundler -v '~> 1.17'
- gem install --remote bundler -v '~> 2.1'
- bin/install_geckodriver.sh
- bin/install_webpacker.sh
20 changes: 9 additions & 11 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -1,28 +1,26 @@
# frozen_string_literal: true

appraise 'rails_5_0' do
gem 'capybara', '< 3.16.0', platform: :mri_23
gem 'nokogiri', '< 1.9.1', platform: :mri_23
gem 'railties', '~> 5.0.7'
gem 'capybara', '< 3'
gem 'cucumber', '< 4'
gem 'rails', '~> 5.0.7'
gem 'sqlite3', '~> 1.3.13'
end

appraise 'rails_5_1' do
gem 'capybara', '< 3.16.0', platform: :mri_23
gem 'nokogiri', '< 1.9.1', platform: :mri_23
gem 'railties', '~> 5.1.7'
gem 'capybara', '< 3.15'
gem 'cucumber', '< 5'
gem 'rails', '~> 5.1.7'
gem 'sqlite3', '~> 1.3.13'
end

appraise 'rails_5_2' do
gem 'capybara', '< 3.16.0', platform: :mri_23
gem 'nokogiri', '< 1.9.1', platform: :mri_23
gem 'railties', '~> 5.2.0'
gem 'capybara', '< 3.33'
gem 'rails', '~> 5.2.4'
gem 'sqlite3', '~> 1.3.13'
end

appraise 'rails_6_0' do
gem 'railties', '~> 6.0.0'
gem 'rails', '~> 6.0.0'
gem 'rails', '~> 6.0.3'
gem 'sqlite3', '~> 1.4'
end
12 changes: 12 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,18 @@ This document is a guide for those maintaining Cucumber-Rails, and others who wo
# Or run tests across the full supported stack. Note that because we support many versions. This takes 5-10 minutes
bundle exec rake appraisal

## Updating Appraisal gems / dependencies of cucumber-rails

To remove and rebuild the different gemfiles (for example, to update a rails version or its
dependencies), use the following:

[bundle exec] appraisal update

If you've changed versions of the dependencies, you may find it helpful to forcefully clean
each appraisal's gem lock file in `gemfiles/`. You can do this using:

[bundle exec] rake clean

## Release Process

* Make sure `CHANGELOG.md` is updated with the upcoming version number, and has entries for all fixes.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License

Copyright (c) 2008-2019 Aslak Hellesøy and the Cucumber Team.
Copyright (c) 2008-2020 Aslak Hellesøy and the Cucumber Team.

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
10 changes: 0 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,16 +110,6 @@ To run the suite against a named gemfile, use the following:

[bundle exec] appraisal rails_6_0 rake test

To remove and rebuild the different gemfiles (for example, to update a rails version or its
dependencies), use the following:

[bundle exec] appraisal update

If you've changed versions of the dependencies, you may find it helpful to forcefully clean
each appraisal's gem lock file in `gemfiles/`. You can do this using:

[bundle exec] rake clean

### Adding dependencies

To support the multiple-gemfile testing, when adding a new dependency the following rules apply:
Expand Down
2 changes: 1 addition & 1 deletion bin/install_geckodriver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ curl --silent \
--fail \
--retry 3 \
--output /tmp/geckodriver_linux64.tar.gz \
https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
https://github.com/mozilla/geckodriver/releases/download/v0.27.0/geckodriver-v0.27.0-linux64.tar.gz

sudo tar -C /usr/local/bin -xvzf /tmp/geckodriver_linux64.tar.gz geckodriver

Expand Down
10 changes: 5 additions & 5 deletions cucumber-rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ Gem::Specification.new do |s|
'source_code_uri' => "https://github.com/cucumber/cucumber-rails/tree/v#{s.version}"
}

s.add_runtime_dependency('capybara', ['>= 2.12', '< 4'])
s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 5'])
s.add_runtime_dependency('mime-types', ['>= 2.0', '< 4'])
s.add_runtime_dependency('nokogiri', '~> 1.8')
s.add_runtime_dependency('rails', ['>= 5.0', '< 7'])
s.add_runtime_dependency('capybara', ['>= 2.18', '< 4']) # We support legacy capybara (But only the last 2.x)
s.add_runtime_dependency('cucumber', ['>= 3.0.2', '< 6']) # Support cucumber in the 3.x / 4.x / 5.x revisions
s.add_runtime_dependency('mime-types', ['~> 3.2']) # Only support the latest major (3+ years old)
s.add_runtime_dependency('nokogiri', '~> 1.8') # Only support the latest major (3+ years old)
s.add_runtime_dependency('rails', ['>= 5.0', '< 7']) # We support any version of Rails in the 5.x and 6.x series

# Main development dependencies
s.add_development_dependency('ammeter', '>= 1.1.4')
Expand Down
6 changes: 3 additions & 3 deletions gemfiles/rails_5_0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

source "https://rubygems.org"

gem "capybara", "< 3.16.0", platform: :mri_23
gem "nokogiri", "< 1.9.1", platform: :mri_23
gem "railties", "~> 5.0.7"
gem "capybara", "< 3"
gem "cucumber", "< 4"
gem "rails", "~> 5.0.7"
gem "sqlite3", "~> 1.3.13"

gemspec path: "../"
6 changes: 3 additions & 3 deletions gemfiles/rails_5_1.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

source "https://rubygems.org"

gem "capybara", "< 3.16.0", platform: :mri_23
gem "nokogiri", "< 1.9.1", platform: :mri_23
gem "railties", "~> 5.1.7"
gem "capybara", "< 3.15"
gem "cucumber", "< 5"
gem "rails", "~> 5.1.7"
gem "sqlite3", "~> 1.3.13"

gemspec path: "../"
5 changes: 2 additions & 3 deletions gemfiles/rails_5_2.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

source "https://rubygems.org"

gem "capybara", "< 3.16.0", platform: :mri_23
gem "nokogiri", "< 1.9.1", platform: :mri_23
gem "railties", "~> 5.2.0"
gem "capybara", "< 3.33"
gem "rails", "~> 5.2.4"
gem "sqlite3", "~> 1.3.13"

gemspec path: "../"
3 changes: 1 addition & 2 deletions gemfiles/rails_6_0.gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

source "https://rubygems.org"

gem "railties", "~> 6.0.0"
gem "rails", "~> 6.0.0"
gem "rails", "~> 6.0.3"
gem "sqlite3", "~> 1.4"

gemspec path: "../"

0 comments on commit 8ebf772

Please sign in to comment.