thoughtbot / appraisal

A Ruby library for testing your library against different versions of dependencies.
https://thoughtbot.com
MIT License
1.25k stars 107 forks source link

Fix Travis build #134

Closed berkos closed 6 years ago

berkos commented 6 years ago

The command appraisal install produces a different result locally vs Travis.

locally:

>> Reinstall Bundler into tmp/stage/vendor/bundle/ruby/2.3.0
Bundler and RubyGems.org are free for anyone to use, but maintaining them costs more than $25,000 USD every month. Help us cover those costs so that we can keep the gem ecosystem free for everyone: https://ruby.to/support-bundler\nSuccessfully installed bundler-1.14.0
1 gem installed
>> bundle check --gemfile='tmp/stage/gemfiles/breakfast.gemfile' || bundle install --gemfile='mp/stage/gemfiles/breakfast.gemfile' --retry 1
Resolving dependencies...
The Gemfile's dependencies are satisfied

vs

Travis:

>> bundle check --gemfile='/home/travis/build/berkos/appraisal/tmp/stage/gemfiles/breakfast.gemfile' || bundle install --gemfile='/home/travis/build/berkos/appraisal/tmp/stage/gemfiles/breakfast.gemfile' --retry 1
Resolving dependencies...
The Gemfile's dependencies are satisfied

Hypothesis is that newer versions of rvm in travis are installing the bundler as a default gem that cannot be uninstalled. relevant issue

Proposal is to check that bundle install and bundle exec appraisal install produces the same result rather than bundler is installed as a side effect.

@nickcharlton please let me know if I do miss some context. Thanks!

nickcharlton commented 6 years ago

Thanks! I noticed the build failed on Ruby 1.9.3.

I wonder if here we should also pin the rake version (if that's possible in this scenario)?

berkos commented 6 years ago

I thought the same to be honest although during the building of the branch never failed which is interesting. I think I can pin the rake version based in Ruby version just to be sure. 👍

nickcharlton commented 6 years ago

Great! Thanks for following up with that. I'll merge this now!