From 5a6f6642a1fef9aaff3952d750bbd14b7579a3af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Galisteo=20Ruiz?= Date: Mon, 5 Oct 2026 17:28:56 +0200 Subject: [PATCH] Pin json below 3 for Rails 7.1 and 8.0 json 3 removed the quirks_mode option, which Active Support 7.1 and 8.0 still pass to JSON.generate. CI's `bundle update railties` picks json 3, so serializing job arguments raises ArgumentError, the processes started by integration tests die and those jobs hang until the 15-minute timeout. --- Appraisals | 4 ++++ gemfiles/rails_7_1.gemfile | 1 + gemfiles/rails_8_0.gemfile | 1 + 3 files changed, 6 insertions(+) diff --git a/Appraisals b/Appraisals index 303c1cc76..6933820c8 100644 --- a/Appraisals +++ b/Appraisals @@ -2,6 +2,8 @@ appraise "rails-7-1" do gem "railties", "~> 7.1.0" + # json 3 rejects the quirks_mode option this Active Support passes. + gem "json", "< 3" end appraise "rails-7-2" do @@ -10,6 +12,8 @@ end appraise "rails-8-0" do gem "railties", "~> 8.0.0" + # json 3 rejects the quirks_mode option this Active Support passes. + gem "json", "< 3" end appraise "rails-8-1" do diff --git a/gemfiles/rails_7_1.gemfile b/gemfiles/rails_7_1.gemfile index 036d98368..5fd12a49c 100644 --- a/gemfiles/rails_7_1.gemfile +++ b/gemfiles/rails_7_1.gemfile @@ -3,5 +3,6 @@ source "https://rubygems.org" gem "railties", "~> 7.1.0" +gem "json", "< 3" gemspec path: "../" diff --git a/gemfiles/rails_8_0.gemfile b/gemfiles/rails_8_0.gemfile index 28bd9f00e..297d3f85c 100644 --- a/gemfiles/rails_8_0.gemfile +++ b/gemfiles/rails_8_0.gemfile @@ -3,5 +3,6 @@ source "https://rubygems.org" gem "railties", "~> 8.0.0" +gem "json", "< 3" gemspec path: "../"