Skip to content

QUAL-2625: Modernize CI with Rails and Mongoid matrix - #11

Merged
roloand merged 2 commits into
masterfrom
QUAL-2625-modernize-ci-matrix
Oct 30, 2026
Merged

roloand merged 2 commits into
masterfrom
QUAL-2625-modernize-ci-matrix

Conversation

@roloand

@roloand roloand commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

CI now runs on a Ruby 3.0/3.1/3.3 matrix against ActiveSupport 6.1 and 7.0 with Mongoid 7.4 (required), plus Mongoid 8.1 (experimental, non-blocking). Replaces the retired ubuntu-18.04 / Ruby 2.5 / mongo:3.6 setup with ubuntu-latest, mongo:7.0 and ruby/setup-ruby.

Also fixes forbid_if transition errors on ActiveSupport 7 (errors[field] << no longer works; now errors.add) and bumps the version to 0.1.2. Gemspec dev deps are loosened to allow Mongoid 8 and any bundler.

Why

QUAL-2625 — validate stateful against the Rails 7 / Mongoid 8.1 upgrade path.

Decision

Mongoid 8.1 jobs are continue-on-error because after-save dirty tracking differs there; the fix is tracked in QUAL-2685.

Verification

Added a spec asserting the default transition error message is added to the state field. CI matrix on this PR is the verification.

🤖 Generated with Claude Code

roloand and others added 2 commits October 29, 2026 14:23
Ruby 3.0/3.1/3.3 x ActiveSupport 6.1/7.0 x Mongoid 7.4/8.1 via gemfiles/, mongo:7.0, current actions. Mongoid 8.1 legs are non-blocking until QUAL-2685.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
errors[field] << is a no-op on Rails 7.0; use errors.add. Specs updated likewise.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Comment thread stateful.gemspec Resolved
Comment thread lib/stateful/version.rb Resolved
@roloand
roloand marked this pull request as ready for review October 30, 2026 15:51
@roloand
roloand merged commit 564d4b5 into master Oct 30, 2026
10 checks passed
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.

1 participant