Skip to content

Support Rails 8.1#549

Merged
neilvcarvalho merged 3 commits into
thoughtbot:mainfrom
toshimaru:ci-rails-8.1
Dec 29, 2025
Merged

Support Rails 8.1#549
neilvcarvalho merged 3 commits into
thoughtbot:mainfrom
toshimaru:ci-rails-8.1

Conversation

@toshimaru
Copy link
Copy Markdown
Contributor

This pull request adds support for Rails 8.1 to the project and ensures consistent usage of the latest minitest version across all Rails versions. The main changes involve updating the test matrix, adding necessary dependencies, and generating a new gemfile for Rails 8.1.

Rails 8.1 support:

  • Added Rails 8.1 to the CI build matrix in .github/workflows/build.yml, with appropriate Ruby version exclusions.
  • Added a new appraise "rails8.1" block in Appraisals with all required gems for Rails 8.1.
  • Generated a new gemfiles/rails8.1.gemfile for Rails 8.1, listing all necessary dependencies.

Testing improvements:

  • Updated all relevant Appraisals blocks and Rails gemfiles to use minitest ~> 5.27

Copilot AI review requested due to automatic review settings December 25, 2025 00:47
Copy link
Copy Markdown

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

This pull request adds support for Rails 8.1 to the test matrix and standardizes the minitest version to ~> 5.27 across all supported Rails versions (6.1, 7.0, 7.1, 7.2, 8.0, and 8.1).

  • Added Rails 8.1 to the CI build matrix with appropriate Ruby 3.1 exclusion
  • Created new Appraisals block and generated gemfile for Rails 8.1
  • Updated all Rails versions to use minitest ~> 5.27 for consistency

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/workflows/build.yml Added Rails 8.1 to the test matrix and excluded Ruby 3.1 for Rails 8.1 compatibility
Appraisals Added rails8.1 block with Rails 8.1 dependencies and updated all blocks to use minitest ~> 5.27
gemfiles/rails8.1.gemfile Generated new gemfile for Rails 8.1 testing environment
gemfiles/rails8.0.gemfile Added minitest ~> 5.27 dependency
gemfiles/rails7.2.gemfile Added minitest ~> 5.27 dependency
gemfiles/rails7.1.gemfile Added minitest ~> 5.27 dependency
gemfiles/rails7.0.gemfile Added minitest ~> 5.27 dependency
gemfiles/rails6.1.gemfile Added minitest ~> 5.27 dependency

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

Comment thread Appraisals
Comment on lines +68 to +79
gem "bcrypt"
gem "brakeman"
gem "bundler-audit"
gem "kamal"
gem "minitest", "~> 5.27"
gem "puma"
gem "rails", "~> 8.1.0"
gem "rubocop-rails-omakase"
gem "solid_cache"
gem "solid_queue"
gem "sqlite3", ">= 2.1"
gem "thruster"
Copy link

Copilot AI Dec 25, 2025

Choose a reason for hiding this comment

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

The rails8.1 block is missing several dependencies that are consistently present in rails8.0 and all Rails 7.x version blocks. The following gems should be added for consistency:

  • byebug (for debugging support)
  • listen ~> 3.2 (for file watching)
  • spring != 2.1.1 (application preloader)
  • spring-watcher-listen ~> 2.0.0 (Spring file watcher integration)

Additionally, puma should have a version constraint (~> 6.0) to match the pattern used in rails7.1, rails7.2, and rails8.0.

The presence of bcrypt, bundler-audit, and solid_cache appears inconsistent with the rails8.0 block and may not be necessary in the Appraisals file if they are transitive dependencies.

Suggested change
gem "bcrypt"
gem "brakeman"
gem "bundler-audit"
gem "kamal"
gem "minitest", "~> 5.27"
gem "puma"
gem "rails", "~> 8.1.0"
gem "rubocop-rails-omakase"
gem "solid_cache"
gem "solid_queue"
gem "sqlite3", ">= 2.1"
gem "thruster"
gem "brakeman"
gem "byebug"
gem "kamal"
gem "listen", "~> 3.2"
gem "puma", "~> 6.0"
gem "rails", "~> 8.1.0"
gem "rubocop-rails-omakase"
gem "solid_queue"
gem "spring", "!= 2.1.1"
gem "spring-watcher-listen", "~> 2.0.0"
gem "sqlite3", ">= 2.1"
gem "thruster"
gem "minitest", "~> 5.27"

Copilot uses AI. Check for mistakes.
Comment thread gemfiles/rails8.1.gemfile
gem "solid_queue"
gem "sqlite3", ">= 2.1"
gem "thruster"

Copy link

Copilot AI Dec 25, 2025

Choose a reason for hiding this comment

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

The generated gemfile appears to be missing several gems that should be automatically included from the gemspec development dependencies. All other Rails version gemfiles (e.g., rails8.0.gemfile, rails7.2.gemfile) explicitly list these gems:

  • appraisal
  • aruba
  • cucumber
  • rake
  • rspec-rails
  • standard

Additionally, gems like bcrypt and solid_cache that appear in rails8.0.gemfile are also missing. This suggests the gemfile may not have been generated correctly using the appraisal generate command, or there's an issue with the Appraisal gem's generation process for this configuration.

Suggested change
gem "appraisal"
gem "aruba"
gem "cucumber"
gem "rake"
gem "rspec-rails"
gem "standard"

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Member

@neilvcarvalho neilvcarvalho left a comment

Choose a reason for hiding this comment

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

Thank you!

@neilvcarvalho neilvcarvalho merged commit 7b7b459 into thoughtbot:main Dec 29, 2025
29 checks passed
@toshimaru toshimaru deleted the ci-rails-8.1 branch December 31, 2025 09:15
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.

3 participants