Skip to content

Test against Rails 7.2–edge and Ruby 3.4–4.0#72

Merged
flavorjones merged 1 commit intomasterfrom
add-appraisals
Mar 10, 2026
Merged

Test against Rails 7.2–edge and Ruby 3.4–4.0#72
flavorjones merged 1 commit intomasterfrom
add-appraisals

Conversation

@flavorjones
Copy link
Member

  • Add Appraisal gem for Rails version matrix testing
  • Update GitHub Actions CI to test Ruby 3.4/4.0 × Rails 7.2/8.0/8.1/edge × sqlite/postgres/mysql
  • Update .ruby-version to 4.0.1
  • Pin minitest < 6 to avoid incompatibility with minitest 6.0
  • Add ostruct as dev dependency for Ruby 4.0 compatibility
  • Use fixture_paths= (plural) for Rails 7.2+ compatibility
  • Update CI actions and service images
  • Document Appraisal usage in README

Copilot AI review requested due to automatic review settings March 10, 2026 19:04
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds multi-version Rails testing support (via Appraisal) and expands CI to cover a Ruby/Rails/DB matrix aligned with upcoming Rails/Ruby compatibility changes.

Changes:

  • Introduces Appraisal configuration + generated Rails-version Gemfiles for matrix testing.
  • Updates CI workflow and dependencies (Ruby versions, Rails versions, DB service images, minitest pin, ostruct for Ruby 4).
  • Adjusts test helper fixture configuration for Rails 7.2+ and documents Appraisal usage in the README.

Reviewed changes

Copilot reviewed 11 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
test/test_helper.rb Switches to fixture_paths= for Rails 7.2+ fixture loading.
test/dummy/db/schema.rb Updates schema format version (but currently has an incorrect schema migration version).
gemfiles/rails_7_2.gemfile Appraisal-generated Gemfile for Rails 7.2 testing.
gemfiles/rails_8_0.gemfile Appraisal-generated Gemfile for Rails 8.0 testing.
gemfiles/rails_8_1.gemfile Appraisal-generated Gemfile for Rails 8.1 testing.
gemfiles/rails_edge.gemfile Appraisal-generated Gemfile for Rails edge testing.
README.md Documents how to run Appraisal-based test matrix locally.
Gemfile.lock Updates resolved dependency set (Rails 8.1 baseline, adds appraisal/ostruct, pins minitest < 6).
Gemfile Adds minitest < 6, appraisal, and ostruct for development/test tooling.
Appraisals Defines Rails version appraisals (7.2, 8.0, 8.1, edge).
.ruby-version Updates local Ruby version to 4.0.1.
.gitignore Ignores per-appraisal lockfiles (gemfiles/*.gemfile.lock).
.github/workflows/build.yml Expands CI into a Ruby/Rails/DB matrix and updates service images (but currently has workflow issues).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

on: [push]
on:
push:
branches: [ master ]
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow is now only triggered on pushes to the master branch. Since this repo’s default branch appears to be main (per diff base), this will prevent CI from running on pushes to main. Update the branch filter to include main (or remove the branch filter) so pushes to the default branch still run CI.

Suggested change
branches: [ master ]
branches: [ main, master ]

Copilot uses AI. Check for mistakes.
Comment on lines 28 to 31
matrix:
ruby-version: ['3.4', '4.0']
rails-version: [rails_7_2, rails_8_0, rails_8_1, rails_edge]
database: [sqlite, postgres, mysql]
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tests job defines a Ruby version matrix (ruby-version: ['3.4', '4.0']), but later the job still sets up Ruby with a fixed version, so the matrix won’t actually run on both Rubies. Update the ruby/setup-ruby step to use the matrix value (e.g., matrix.ruby-version).

Copilot uses AI. Check for mistakes.
- Add Appraisal gem for Rails version matrix testing
- Update GitHub Actions CI to test Ruby 3.4/4.0 × Rails 7.2/8.0/8.1/edge × sqlite/postgres/mysql
- Update .ruby-version to 4.0.1
- Pin minitest < 6 to avoid incompatibility with minitest 6.0
- Add ostruct as dev dependency for Ruby 4.0 compatibility
- Use fixture_paths= (plural) for Rails 7.2+ compatibility
- Update CI actions and service images
- Document Appraisal usage in README
Copilot AI review requested due to automatic review settings March 10, 2026 19:18
@flavorjones flavorjones merged commit 76408f0 into master Mar 10, 2026
55 of 56 checks passed
@flavorjones flavorjones deleted the add-appraisals branch March 10, 2026 19:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 14 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

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