thoughtbot / factory_bot_rails

Factory Bot ♥ Rails
https://thoughtbot.com/services/ruby-on-rails
MIT License
3.07k stars 369 forks source link

Skip Spring version 2.1.1 #389

Closed entcheva closed 3 years ago

entcheva commented 3 years ago

Changes introduced in Spring 2.1.1 (rails/spring#621) are breaking some tests. That change was reverted in rails/spring#629 but hasn't been released yet. Until rails/spring#629 is released, this PR skips Spring version 2.1.1.

Co-authored-by: Daniel J. Colson daniel.colson@hey.com

composerinteralia commented 3 years ago

I occurred to me we saw some recent failures in suspenders that are probably similar to this. For some reason commands that used to run in a test app directory started getting run in the top-level suspenders directory. I think that is what is happening here: the test is in factory_bot_rails/tmp/aruba/test_app/test, but for some reason something somewhere is looking for it in factory_bot_rails/test.

I don't think this is a good solution, but if we change bin/rails test to bin/rails test tmp/aruba/test_app/test/unit/user_test.rb it passes for me locally. Interestingly the bin/rails part works fine even though that is also in tmp/aruba/test_app.

I would love to know what library changed this behavior for us, but not sure how to find out. We were having some rake issues, so maybe something in there somewhere?

composerinteralia commented 3 years ago

Figured it out. It was introduced in spring 2.1.1 (https://github.com/rails/spring/pull/621). That change was reverted in https://github.com/rails/spring/pull/629, but hasn't been released yet. So I think the solution here is to avoid the broken version of spring. I think we can do that by adding a "!= 2.1.1" constraint to the Gemfile, updating the appraisals, and adding "gsub_file "Gemfile", /^ gem 'spring'$/, ' gem "spring", "!= 2.1.1"' to features/support/rails_template .

cc @garciadanny and @mike-burns in case this helps you with the suspenders tests. Or if you wait long enough they might fix themselves when a new version of spring comes out.

composerinteralia commented 3 years ago

BTW, this is the Travis announcement I was thinking of, specifically the part about OSS.

composerinteralia commented 3 years ago

@entcheva it seems like we may want to migrate from Travis to Circle at some point.

entcheva commented 3 years ago

@composerinteralia Nice! I especially appreciate the performance comparison to Github Actions. This is a helpful breakdown, thank you!