From 59311ddc92e95b455263439048b5bc94ca720923 Mon Sep 17 00:00:00 2001 From: nekketsuuu Date: Thu, 11 Dec 2025 15:15:44 +0900 Subject: [PATCH 1/4] fix: rake gem is required at two locations and Bundler generates a warning for this. --- Gemfile | 6 +++++- Gemfile.lock | 4 ++-- bootboot.gemspec | 3 --- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index d42b451..6cf5821 100644 --- a/Gemfile +++ b/Gemfile @@ -8,10 +8,14 @@ gemspec gem "rubocop-shopify", require: false -group :deployment do +group :deployment, :development do gem "rake" end +group :development do + gem "minitest" +end + group :test do gem "rubocop" end diff --git a/Gemfile.lock b/Gemfile.lock index 8844e39..075db51 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,7 +9,7 @@ GEM ast (2.4.2) json (2.7.1) language_server-protocol (3.17.0.3) - minitest (5.17.0) + minitest (5.26.2) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) @@ -42,7 +42,7 @@ PLATFORMS DEPENDENCIES bootboot! - minitest (~> 5.0) + minitest rake rubocop rubocop-shopify diff --git a/bootboot.gemspec b/bootboot.gemspec index de13055..aba4905 100644 --- a/bootboot.gemspec +++ b/bootboot.gemspec @@ -30,7 +30,4 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.required_ruby_version = ">= 2.7.0" - - spec.add_development_dependency("minitest", "~> 5.0") - spec.add_development_dependency("rake", "~> 10.0") end From 7208feed94762da0c572d2091209ee04cc75521b Mon Sep 17 00:00:00 2001 From: nekketsuuu Date: Thu, 11 Dec 2025 16:05:33 +0900 Subject: [PATCH 2/4] Drop support for Ruby 2.7, 3.0, 3.1 and upgrade Bundler Tests were failing due to Bundler's warning messages, "already initialized constant": https://github.com/ruby/rubygems/commit/a2b51a6e4014b0b98923ab3134a39d6a65bc11a8 and https://github.com/ruby/rubygems/commit/41529af839ccb0285c5ccf09a8e2a06a3748af0f. These warnings were fixed at Bundler 2.7.0. But it also dropped support for Ruby <= 3.1. So this patch dropped support for older Rubies, and upgrade Bundler to the latest 2.x version. Bundler 4.x has been already released, but it has other issues. So this patch upgrades Bundler to the latest 2.x version. The required_ruby_version attribute in the gemspec file is intentionally not changed since this is an issue only around testing. --- .github/workflows/ci.yml | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05b77f7..7711b1b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: name: Ruby ${{ matrix.ruby }} strategy: matrix: - ruby: ["2.7", "3.0", "3.1", "3.2"] + ruby: ["3.2", "3.3"] steps: - name: Check out code uses: actions/checkout@v3 diff --git a/Gemfile.lock b/Gemfile.lock index 075db51..6f5a182 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,4 +48,4 @@ DEPENDENCIES rubocop-shopify BUNDLED WITH - 2.5.7 + 2.7.2 From 694e025ac9527cef7bc5c4db28b7f7bf0311324f Mon Sep 17 00:00:00 2001 From: nekketsuuu Date: Thu, 11 Dec 2025 15:18:17 +0900 Subject: [PATCH 3/4] fix: Remove dependency on mutex_m Ruby 3.3 shows a warning if mutex_m is implicitly used. minitest v5.21.0 has a fix for this: https://github.com/minitest/minitest/pull/973 --- test/bootboot_test.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/bootboot_test.rb b/test/bootboot_test.rb index 386afd5..83f3e2d 100644 --- a/test/bootboot_test.rb +++ b/test/bootboot_test.rb @@ -66,7 +66,7 @@ def test_sync_the_gemfile_next_after_installation_of_new_gem_with_custom_bootboo Bundler.settings.set_local('bootboot_env_prefix', 'SHOPIFY') if ENV['SHOPIFY_NEXT'] - gem 'minitest', '5.15.0' + gem 'minitest', '5.26.0' end EOM @@ -79,7 +79,7 @@ def test_sync_the_gemfile_next_after_installation_of_new_gem_with_custom_bootboo env: { "SHOPIFY_NEXT" => "1" }, ) - assert_equal("5.15.0", output.strip) + assert_equal("5.26.0", output.strip) end end @@ -194,7 +194,7 @@ def test_bootboot_command_initialize_the_next_lock_and_update_the_gemfile File.write(file, <<-EOM, mode: "a") if ENV['DEPENDENCIES_NEXT'] - gem 'minitest', '5.15.0' + gem 'minitest', '5.25.0' end EOM @@ -205,7 +205,7 @@ def test_bootboot_command_initialize_the_next_lock_and_update_the_gemfile env: { "DEPENDENCIES_NEXT" => "1" }, ) - assert_equal("5.15.0", output.strip) + assert_equal("5.25.0", output.strip) end end From 39c0015a6cc69f799e84e549c0bc1400f1282a50 Mon Sep 17 00:00:00 2001 From: nekketsuuu Date: Thu, 11 Dec 2025 15:29:25 +0900 Subject: [PATCH 4/4] Revert "Use latest compatible Bundler of each Ruby version run" This reverts commit 8513db18fb4bf966b607e4ed436959ad92261888. It seems that the Bundler version is set to the latest for older Bundler: https://github.com/Shopify/bootboot/pull/66#issuecomment-2033198356 This is not the case now, and Bundler version is written in Gemfile.lock. Currently, this configuration makes the CI use Bundler v4, which somehow produces an error. --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7711b1b..75fae51 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,6 @@ jobs: with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - bundler: latest - name: Ruby Tests run: bundle exec rake test - name: RuboCop