From 3b2aa87e040038c217d1d2137c7edafc3c420686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Wed, 20 Apr 2022 18:21:11 +0200 Subject: [PATCH] Update Bundler from 2.3.10 to 2.3.12 Includes some changes in monkeypatches. * Don't use `Bundler::RubyVersion#to_gem_version_with_patchlevel` since it has been removed by https://github.com/rubygems/rubygems/commit/21c145cb232c5266b330d4f6df2c8c635930e23c. * Opt out of always passing the running Ruby version as a resolver requirement (https://github.com/rubygems/rubygems/commit/4156c70fcb18b643ff14a317511008b455b85824), since it's necessary for dependabot to work. --- Dockerfile | 2 +- bundler/helpers/v2/build | 6 +++--- .../definition_ruby_version_patch.rb | 20 +++++++++++++++++-- bundler/lib/dependabot/bundler/helpers.rb | 2 +- bundler/script/ci-test | 4 ++-- .../spec/dependabot/bundler/helper_spec.rb | 2 +- bundler/spec/spec_helper.rb | 2 +- 7 files changed, 27 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1f2ebd74b3c..9e6939a6da8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -78,7 +78,7 @@ RUN apt-add-repository ppa:brightbox/ruby-ng \ && apt-get install -y --no-install-recommends ruby2.7 ruby2.7-dev \ && gem update --system 3.2.20 \ && gem install bundler -v 1.17.3 --no-document \ - && gem install bundler -v 2.3.10 --no-document \ + && gem install bundler -v 2.3.12 --no-document \ && rm -rf /var/lib/gems/2.7.0/cache/* \ && rm -rf /var/lib/apt/lists/* diff --git a/bundler/helpers/v2/build b/bundler/helpers/v2/build index c54f29b8e66..5762a14abc8 100755 --- a/bundler/helpers/v2/build +++ b/bundler/helpers/v2/build @@ -22,6 +22,6 @@ cd "$install_dir" # NOTE: Sets `BUNDLED WITH` to match the installed v2 version in Gemfile.lock # forcing specs and native helpers to run with the same version -BUNDLER_VERSION=2.3.10 bundle config --local path ".bundle" -BUNDLER_VERSION=2.3.10 bundle config --local without "test" -BUNDLER_VERSION=2.3.10 bundle install +BUNDLER_VERSION=2.3.12 bundle config --local path ".bundle" +BUNDLER_VERSION=2.3.12 bundle config --local without "test" +BUNDLER_VERSION=2.3.12 bundle install diff --git a/bundler/helpers/v2/monkey_patches/definition_ruby_version_patch.rb b/bundler/helpers/v2/monkey_patches/definition_ruby_version_patch.rb index e127b488270..d0d254ac408 100644 --- a/bundler/helpers/v2/monkey_patches/definition_ruby_version_patch.rb +++ b/bundler/helpers/v2/monkey_patches/definition_ruby_version_patch.rb @@ -5,16 +5,32 @@ module BundlerDefinitionRubyVersionPatch def source_requirements if ruby_version - requested_version = ruby_version.to_gem_version_with_patchlevel + requested_version = ruby_version.gem_version sources.metadata_source.specs << Gem::Specification.new("Ruby\0", requested_version) end sources.metadata_source.specs << - Gem::Specification.new("Ruby\0", "2.5.3p105") + Gem::Specification.new("Ruby\0", "2.5.3") super end + + def metadata_dependencies + @metadata_dependencies ||= + [ + Bundler::Dependency.new("Ruby\0", ruby_version_requirements), + Bundler::Dependency.new("RubyGems\0", Gem::VERSION) + ] + end + + def ruby_version_requirements + return [] unless ruby_version + + ruby_version.versions.map do |version| + Gem::Requirement.new(version) + end + end end Bundler::Definition.prepend(BundlerDefinitionRubyVersionPatch) diff --git a/bundler/lib/dependabot/bundler/helpers.rb b/bundler/lib/dependabot/bundler/helpers.rb index 2c9d21d0cbc..e9fcc2c6ee1 100644 --- a/bundler/lib/dependabot/bundler/helpers.rb +++ b/bundler/lib/dependabot/bundler/helpers.rb @@ -4,7 +4,7 @@ module Dependabot module Bundler module Helpers V1 = "1.17.3" - V2 = "2.3.10" + V2 = "2.3.12" # If we are updating a project with no Gemfile.lock, we default to the # newest version we support DEFAULT = V2 diff --git a/bundler/script/ci-test b/bundler/script/ci-test index b1c953522a7..dba5e762295 100755 --- a/bundler/script/ci-test +++ b/bundler/script/ci-test @@ -15,7 +15,7 @@ fi if [[ "$SUITE_NAME" == "bundler2" ]]; then cd helpers/v2 \ - && BUNDLER_VERSION=2.3.10 bundle install \ - && BUNDLER_VERSION=2.3.10 bundle exec rspec spec \ + && BUNDLER_VERSION=2.3.12 bundle install \ + && BUNDLER_VERSION=2.3.12 bundle exec rspec spec \ && cd - fi diff --git a/bundler/spec/dependabot/bundler/helper_spec.rb b/bundler/spec/dependabot/bundler/helper_spec.rb index 9e8b4d03ab6..0697d46f7c2 100644 --- a/bundler/spec/dependabot/bundler/helper_spec.rb +++ b/bundler/spec/dependabot/bundler/helper_spec.rb @@ -41,7 +41,7 @@ end let(:v1) { "1.17.3" } - let(:v2) { "2.3.10" } + let(:v2) { "2.3.12" } describe "#bundler_version" do def described_method(lockfile) diff --git a/bundler/spec/spec_helper.rb b/bundler/spec/spec_helper.rb index ecf39911cd1..23df38d61f8 100644 --- a/bundler/spec/spec_helper.rb +++ b/bundler/spec/spec_helper.rb @@ -20,7 +20,7 @@ def self.use_bundler_2? end def self.bundler_version - use_bundler_2? ? "2.3.10" : "1.17.3" + use_bundler_2? ? "2.3.12" : "1.17.3" end def self.bundler_major_version