cucumber / cucumber-cpp

Support for writing Cucumber step definitions in C++
MIT License
306 stars 131 forks source link

Appveyor build is failing #217

Closed paoloambrosio closed 5 years ago

paoloambrosio commented 5 years ago

Builds started failing between 28/12/2018 to 9/1/2019. See history: https://ci.appveyor.com/project/paoloambrosio/cucumber-cpp-qqrt7/history

This was highlighted by a failed build for #195: https://ci.appveyor.com/project/paoloambrosio/cucumber-cpp-qqrt7/builds/21490000

The error is:

bundle install
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Fetching ffi 1.10.0 (x86-mingw32)
Installing ffi 1.10.0 (x86-mingw32)
Gem::RuntimeRequirementNotMetError: ffi requires Ruby version >= 2.2, < 2.7.dev.
The current ruby version is 2.0.0.
An error occurred while installing ffi (1.10.0), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.10.0' --source 'https://rubygems.org/'`
succeeds before bundling.
In Gemfile:
  aruba was resolved to 0.8.0, which depends on
    childprocess was resolved to 0.5.9, which depends on
      ffi
Command exited with code 5
konserw commented 5 years ago

Switching over to ruby 2.2.x on appveyor fixes problem seen here, so at least it builds and unit tests are running ok, but then e2e tests are failing, see: https://github.com/konserw/cucumber-cpp/commit/88d6f02b2c586da222e8ad3a910f6fc7e6e1823c https://ci.appveyor.com/project/konserw/cucumber-cpp/build/job/4ackex31k84oa1qg Cucumber 2.0.0 is too old for ruby 2.2, or at least gherkin < 3 is, see here: cucumber-attic/gherkin#259

It's our own dependency hell as bug in cucumber > 2.0 won't work with cucumber-cpp :/

konserw commented 5 years ago

second option would be to use fixed ffi version, that supports ruby 2.0, so I think 1.9.25, as in last grren build: https://ci.appveyor.com/project/paoloambrosio/cucumber-cpp-qqrt7/builds/21275743/job/d9p37xpdhe9186sb

paoloambrosio commented 5 years ago

Yes, fixing the ffi version is what I tried on my branch. Won't have time to experiment with it for a few hours, so please go ahead if you have time.