From 61a640c54b01cc9c95a25fcd661a0ada8fd26003 Mon Sep 17 00:00:00 2001 From: Stuart Chinery Date: Wed, 10 Jan 2024 15:14:23 +0000 Subject: [PATCH] Added Ruby 3.3.0 to RubyRequirementSetter version requirements --- .../file_updater/ruby_requirement_setter.rb | 2 +- .../ruby_requirement_setter_spec.rb | 11 ++++++++++ .../bundler1/gemfile_require_ruby_3_3/Gemfile | 6 +++++ .../gemfile_require_ruby_3_3/Gemfile.lock | 15 +++++++++++++ .../gemfile_require_ruby_3_3/example.gemspec | 22 +++++++++++++++++++ .../bundler2/gemfile_require_ruby_3_3/Gemfile | 6 +++++ .../gemfile_require_ruby_3_3/Gemfile.lock | 15 +++++++++++++ .../gemfile_require_ruby_3_3/example.gemspec | 22 +++++++++++++++++++ 8 files changed, 98 insertions(+), 1 deletion(-) create mode 100644 bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile create mode 100644 bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile.lock create mode 100644 bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/example.gemspec create mode 100644 bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile create mode 100644 bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile.lock create mode 100644 bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/example.gemspec diff --git a/bundler/lib/dependabot/bundler/file_updater/ruby_requirement_setter.rb b/bundler/lib/dependabot/bundler/file_updater/ruby_requirement_setter.rb index 231327c2dc8b..ba1e6e18f38b 100644 --- a/bundler/lib/dependabot/bundler/file_updater/ruby_requirement_setter.rb +++ b/bundler/lib/dependabot/bundler/file_updater/ruby_requirement_setter.rb @@ -12,7 +12,7 @@ class RubyRequirementSetter class RubyVersionNotFound < StandardError; end RUBY_VERSIONS = %w( - 1.8.7 1.9.3 2.0.0 2.1.10 2.2.10 2.3.8 2.4.10 2.5.9 2.6.9 2.7.6 3.0.6 3.1.4 3.2.2 + 1.8.7 1.9.3 2.0.0 2.1.10 2.2.10 2.3.8 2.4.10 2.5.9 2.6.9 2.7.6 3.0.6 3.1.4 3.2.2 3.3.0 ).freeze attr_reader :gemspec diff --git a/bundler/spec/dependabot/bundler/file_updater/ruby_requirement_setter_spec.rb b/bundler/spec/dependabot/bundler/file_updater/ruby_requirement_setter_spec.rb index 4a3977618350..10d3173235e5 100644 --- a/bundler/spec/dependabot/bundler/file_updater/ruby_requirement_setter_spec.rb +++ b/bundler/spec/dependabot/bundler/file_updater/ruby_requirement_setter_spec.rb @@ -126,6 +126,17 @@ it { is_expected.to include(%(gem "business", "~> 1.4.0")) } end + context "when requiring ruby 3.3" do + let(:gemspec) do + bundler_project_dependency_file("gemfile_require_ruby_3_3", filename: "example.gemspec") + end + let(:content) do + bundler_project_dependency_file("gemfile", filename: "Gemfile").content + end + it { is_expected.to include("ruby '3.3.0'\n") } + it { is_expected.to include(%(gem "business", "~> 1.4.0")) } + end + context "that can't be evaluated" do let(:content) do bundler_project_dependency_file("gemfile", filename: "Gemfile").content diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile new file mode 100644 index 000000000000..bb897e7e7bb2 --- /dev/null +++ b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +gem "business", "~> 1.4.0" +gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile.lock b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile.lock new file mode 100644 index 000000000000..65d23b6c7468 --- /dev/null +++ b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + business (1.4.0) + statesman (1.2.1) + +PLATFORMS + ruby + +DEPENDENCIES + business (~> 1.4.0) + statesman (~> 1.2.0) + +BUNDLED WITH + 1.10.6 diff --git a/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/example.gemspec b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/example.gemspec new file mode 100644 index 000000000000..ac785c5e68d0 --- /dev/null +++ b/bundler/spec/fixtures/projects/bundler1/gemfile_require_ruby_3_3/example.gemspec @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +Gem::Specification.new do |spec| + spec.name = "example" + spec.version = "0.9.3" + spec.summary = "Automated dependency management" + spec.description = "Core logic for updating a GitHub repos dependencies" + + spec.author = "Dependabot" + spec.email = "support@dependabot.com" + spec.homepage = "https://github.com/hmarr/example" + spec.license = "MIT" + + spec.require_path = "lib" + spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", + "lib/**/*", "helpers/**/*"] + + spec.required_ruby_version = ">= 3.3.0" + spec.required_rubygems_version = ">= 2.6.11" + + spec.add_dependency 'business', '~> 1.0' +end diff --git a/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile b/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile new file mode 100644 index 000000000000..bb897e7e7bb2 --- /dev/null +++ b/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +gem "business", "~> 1.4.0" +gem "statesman", "~> 1.2.0" diff --git a/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile.lock b/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile.lock new file mode 100644 index 000000000000..b00ae3b7fced --- /dev/null +++ b/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + business (1.4.0) + statesman (1.2.1) + +PLATFORMS + ruby + +DEPENDENCIES + business (~> 1.4.0) + statesman (~> 1.2.0) + +BUNDLED WITH + 2.5.3 diff --git a/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/example.gemspec b/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/example.gemspec new file mode 100644 index 000000000000..317319e9bce7 --- /dev/null +++ b/bundler/spec/fixtures/projects/bundler2/gemfile_require_ruby_3_3/example.gemspec @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +Gem::Specification.new do |spec| + spec.name = "example" + spec.version = "0.9.3" + spec.summary = "Automated dependency management" + spec.description = "Core logic for updating a GitHub repos dependencies" + + spec.author = "Dependabot" + spec.email = "support@dependabot.com" + spec.homepage = "https://github.com/hmarr/example" + spec.license = "MIT" + + spec.require_path = "lib" + spec.files = Dir["CHANGELOG.md", "LICENSE.txt", "README.md", + "lib/**/*", "helpers/**/*"] + + spec.required_ruby_version = ">= 3.3.0" + spec.required_rubygems_version = ">= 3.5.3" + + spec.add_dependency 'business', '~> 1.0' +end