thoughtbot / factory_bot

A library for setting up Ruby objects as test data.

Home Page:https://thoughtbot.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Drop EOL Ruby and Rails versions

composerinteralia opened this issue · comments

When we release factory_bot 7, we should stop testing against any end-of-life Ruby versions (probably 2.5 and 2.6 by the time we release - https://www.ruby-lang.org/en/downloads/branches/).

Similarly for Rails, we stop testing against 5.0, 5.1, and possibly 5.2 - https://guides.rubyonrails.org/maintenance_policy.html

We're also running into issues currently with truffleruby (cc @eregon ) on a couple of versions - do we want to scrub for support there as well?

TruffleRuby 22+ targets Ruby 3 compatibility.

I see two errors on main:

https://github.com/thoughtbot/factory_bot/runs/5458798971?check_suite_focus=true
External LLVMFunction rb_check_safe_obj cannot be found.
This might happen on CRuby 3, and CRuby 3 is not tested on Rails 5.
So this repo should only test the same Rails versions on TruffleRuby as for CRuby 3, not more, and that would avoid this issue.
It still seems worth to understand the underlying problem for that issue, so I'll file a TruffleRuby issue for it: oracle/truffleruby#2618.

https://github.com/thoughtbot/factory_bot/runs/5458799118?check_suite_focus=true
It seems the error is:

 Failing Scenarios:
cucumber features/find_definitions.feature:2 # Scenario: Find definitions with a path
cucumber features/find_definitions.feature:17 # Scenario: Find definitions with an absolute path
cucumber features/find_definitions.feature:32 # Scenario: Find definitions with a folder
cucumber features/find_definitions.feature:47 # Scenario: Reload FactoryBot

4 scenarios (4 failed)

I'm not sure why it shows so little details about it.
@bjfish Could you investigate?

Finally, https://github.com/eregon/truffleruby-gem-tracker/runs/5458659980?check_suite_focus=true missed these failures due to the default branch rename (master->main). We need to update the branch name in the config and ideally add some way to automatically find the default branch.