This PR builds on #2127 and #2128 to add test coverage for Ruby 3.1.
i.e.: Ignore the first 2 commits in this PR. (update: Those PRs were merged and I've rebased this)
A couple things:
- Remove usage of YAML aliases in the test
example_app
to work around a Psych 4 incompatibility with Rails 6. (See the commit message on that commit for more details). - Add Circle configs for testing Ruby 3.1, and limit it to testing Rails 6.1. I don't think Rails 6.0 is compatible with Ruby 3.1 (e.g. see here) and I was seeing some test failures that seemed to confirm that, iirc. When Rails 7 test coverage is added then Ruby 3.1 can cover that as well of course.
- This uses CircleCI's new
cimg/ruby
docker image, which replaces the oldcircleci/ruby
docker image, because the Ruby 3.1 hasn't been added to the latter and it sounds like it won't be. We could probably update everything tocimg/ruby
if we want. Or we could test it out a bit on Ruby 3.1 for a while first.
Does that all seem reasonable?