diff --git a/.github/workflows/install-rubygems.yml b/.github/workflows/install-rubygems.yml index 53f19253887e..27a865d3282a 100644 --- a/.github/workflows/install-rubygems.yml +++ b/.github/workflows/install-rubygems.yml @@ -42,4 +42,13 @@ jobs: run: bundle --version - name: Check bundler man pages were installed and are properly picked up run: bundle install --help | grep -q BUNDLE-INSTALL + - name: Build bundler + run: gem build bundler.gemspec + working-directory: ./bundler + - name: Install built bundler + run: gem install bundler-*.gem --verbose > output.txt + working-directory: ./bundler + - name: Check bundler install didn't hit the network + run: if grep -q 'GET http' output.txt; then false; else true; fi + working-directory: ./bundler timeout-minutes: 10 diff --git a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb index 54ecd1c5af9c..34ab10404b8a 100644 --- a/lib/rubygems/dependency_installer.rb +++ b/lib/rubygems/dependency_installer.rb @@ -283,7 +283,6 @@ def resolve_dependencies(dep_or_name, version) # :nodoc: request_set.development_shallow = @dev_shallow request_set.soft_missing = @force request_set.prerelease = @prerelease - request_set.remote = false unless consider_remote? installer_set = Gem::Resolver::InstallerSet.new @domain installer_set.ignore_installed = @only_install_dir @@ -307,6 +306,7 @@ def resolve_dependencies(dep_or_name, version) # :nodoc: dependency = if spec = installer_set.local?(dep_or_name) + installer_set.remote = nil if spec.dependencies.none? Gem::Dependency.new spec.name, version elsif String === dep_or_name Gem::Dependency.new dep_or_name, version @@ -321,6 +321,7 @@ def resolve_dependencies(dep_or_name, version) # :nodoc: installer_set.add_always_install dependency request_set.always_install = installer_set.always_install + request_set.remote = installer_set.consider_remote? if @ignore_dependencies installer_set.ignore_dependencies = true diff --git a/lib/rubygems/resolver/installer_set.rb b/lib/rubygems/resolver/installer_set.rb index 4b29bfb199b1..b0e4ce5a3725 100644 --- a/lib/rubygems/resolver/installer_set.rb +++ b/lib/rubygems/resolver/installer_set.rb @@ -32,7 +32,6 @@ def initialize(domain) super() @domain = domain - @remote = consider_remote? @f = Gem::SpecFetcher.fetcher