Skip to content

Re-enable the Rails main CI job with rspec-rails main - #655

Merged
tricknotes merged 1 commit into
mainfrom
use-rspec-rails-main
Sep 3, 2026
Merged

Re-enable the Rails main CI job with rspec-rails main#655
tricknotes merged 1 commit into
mainfrom
use-rspec-rails-main

Conversation

@tricknotes

@tricknotes tricknotes commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

The Rails main CI job was disabled because the released rspec-rails series mutates internals that Rails main freezes, failing the suite while loading the specs (FrozenError: can't modify frozen Hash). The fixes (e.g. rspec/rspec-rails#2915) are merged on rspec-rails main but not yet released.

  • Widen the gemspec's rspec-rails development-dependency constraint from < 7.0 to < 9.0, admitting the 8.x series. The constraint also applies to the git source, whose current prerelease is 8.1.0.pre, so this is what lets the main branch resolve.
  • When RAILS_VERSION=main, take rspec-rails from its main branch in the Gemfile, following the existing switch for the rails constraint.
  • Re-enable the (4.0, main, 7.0.0) matrix entry, marked experimental with continue-on-error so the moving target can break without failing the build (the same arrangement as Use rspec-rails main when testing against Rails main ember-cli-rails-assets#36 relies on).

Notes

  • With the widened constraint, released Rails versions now resolve rspec-rails to the released 8.x series (8.0.4 at the moment) instead of 6.1.5, so the whole matrix moves to rspec-rails 8 (which requires Rails >= 7.2 — the matrix's minimum).

Verification

  • RAILS_VERSION=main bundle lock resolves, picking up rspec-rails 8.1.0.pre from main against rails main
  • bundle lock with the default RAILS_VERSION resolves to rspec-rails 8.0.4
  • spec/lib passes locally against rspec-rails 8.0.4 (79 of 81 examples; the 2 failures are a local environment issue — no ember-cli executable installed — not related to rspec-rails)
  • Please rely on CI for the full matrix, and on the experimental build (4.0, main, 7.0.0) job for the Rails main run

🤖 Generated with Claude Code

The released rspec-rails series mutates internals that Rails main freezes,
failing the suite while loading the specs:

    FrozenError:
      can't modify frozen Hash: {}

The fixes (e.g. rspec/rspec-rails#2915) are merged on rspec-rails main but
not yet released. Widen the gemspec's rspec-rails constraint to admit the
8.x series — the constraint also applies to the git source, whose current
prerelease is 8.1.0.pre — and test against rspec-rails main when
RAILS_VERSION=main. Released Rails versions now resolve to the released
8.x series.

Re-enable the (4.0, main) matrix entry, marked experimental so the moving
target can break without failing the build.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@tricknotes
tricknotes merged commit a07b3a5 into main Sep 3, 2026
12 checks passed
@tricknotes
tricknotes deleted the use-rspec-rails-main branch September 3, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants