-
-
Notifications
You must be signed in to change notification settings - Fork 753
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not to overload the 4.0 release, I thought of doing this after.
Do you mind to hold off for a while? We've just two PRs left in Core, and add deprecation messages all over repos for the functionality we've changed/removed. I think it will take roughly a month.
Sure, I can wait until after the 4.0 release. |
019e32d
to
eeca7ed
Compare
Updated from |
cb95058
to
3d86a95
Compare
JRuby failure is unrelated - bisect spec failure. |
3d86a95
to
de96ed9
Compare
Can we not still run the older cucumber on the older rubies? |
rspec-core.gemspec
Outdated
@@ -44,7 +44,10 @@ Gem::Specification.new do |s| | |||
s.add_runtime_dependency "rspec-support", "~> #{RSpec::Core::Version::STRING.split('.')[0..1].concat(['3']).join('.')}" | |||
end | |||
|
|||
s.add_development_dependency "cucumber", "~> 1.3" | |||
if RUBY_VERSION >= '2.5' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Logic like this in the gemspec does not work since this will be evaluated at gem build time. This is probably going to be on a post-2.5 Ruby version, meaning the resulting gem will just build-depend on cucumber 7.
rspec-core.gemspec
Outdated
@@ -44,7 +44,10 @@ Gem::Specification.new do |s| | |||
s.add_runtime_dependency "rspec-support", "~> #{RSpec::Core::Version::STRING.split('.')[0..1].concat(['3']).join('.')}" | |||
end | |||
|
|||
s.add_development_dependency "cucumber", "~> 1.3" | |||
if RUBY_VERSION >= '2.5' | |||
s.add_development_dependency "cucumber", "~> 7.0.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would propose versioning the cucumber dependency as ">= 3.2", "< 8.0", and putting any extra logic needed in the Gemfile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should just be worked out based on the diff-lcs requirement and ruby version no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I think those are basically the two inputs that would determine which cucumber versions will work.
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, my bad, 4.x was incompatible due to diff-lcs
, so we're fine.
I'll update rspec/rspec-expectations#1320 to work around ok?
error on 3.2 somehow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion, worked perfectly.
Fun fact: on Rubies 2.3, 2.4 and JRuby 9.1, Bundler installs cucumber
4.0.0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fun fact: on Rubies 2.3, 2.4 and JRuby 9.1, Bundler installs cucumber 4.0.0.
Oh, that's funny: Cucumber 4.0.1 disallows diff-lcs 1.4.4, but version 4.0.0 allows it. There must be some problem with diff-lcs 1.4 but it clearly isn't relevant here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4.0.1's changelog mentions diff-lcs
's breaking changes.
I've added "!= 4.0.0"
to the specification to be on the safe side.
2.3, 2.4 and JRuby 9.1 builds will use Cucumber 3.2, while others will take the latest 7.x.
It's remarkable that Cucumber mentions to drop support for JRuby in 4.0 rc.
d5efa83
to
7c904b2
Compare
I've removed my changes to build scripts. Cucumber > 4 < 8 installs and runs just fine across all versions that we test on CI. |
cucumber 4.0.0 is not aware of breaking changes in diff-lcs 1.4.3, so excluding it cucumber 4.0.0 would run on Ruby 2.3, 2.4 and JRuby 9.1
e4493a5
to
840006b
Compare
@mvz Thank you! |
cucumber 4.0.0 is not aware of breaking changes in diff-lcs 1.4.3, so excluding it cucumber 3.2 would run on Ruby 2.2, 2.3 and 2.4 Sibling PRs: - rspec/rspec-core#2877 - rspec/rspec-mocks#1439 - rspec/rspec-expectations#1320
cucumber 4.0.0 is not aware of breaking changes in diff-lcs 1.4.3, so excluding it cucumber 3.2 would run on Ruby 2.2, 2.3 and 2.4 Sibling PRs: - rspec/rspec-core#2877 - rspec/rspec-mocks#1439 - rspec/rspec-expectations#1320
Cucumber 3.2 is the last version that combines the following two properties:
This pull requests fixes the errors when running with Cucumber 2.x and up by improving the handler for the
@ruby-2-7
tag so it uses Cucumber's standard support for skipping scenarios.Sibling PRs: