Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

using bundler plugins results in gem metadata always loading from non-default sources even in deployment mode #6589

Open
aogata-inst opened this issue Apr 6, 2023 · 0 comments
Labels

Comments

@aogata-inst
Copy link

Describe the problem as clearly as you can

Using the following lockfile, you'll see that it loads metadata for the redacted source even when deployment mode is turned on. This can be problematic when 1000s of servers try to fetch that metadata simultaneously.

# Gemfile.lock
source "https://rubygems.org/"

plugin "bundler_lockfile_extensions", path: "gems/bundler_lockfile_extensions"

gem "bootsnap", "1.13.0", require: false

source "_redacted_" do
  gem "hola", ">= 0.1.3"
end

# Output
# bundle config set --local deployment true
# bundle cache
# bundle install
Fetching gem metadata from _redacted_.
Resolving dependencies...
Using bundler 2.4.10
Using bundler_lockfile_extensions 0.0.2 from source at `gems/bundler_lockfile_extensions`
Using msgpack 1.7.0
Using bootsnap 1.13.0
Using bundler 2.4.10
Using hola 0.1.3
Bundle complete! 2 Gemfile dependencies, 4 gems now installed.
Bundled gems are installed into `./vendor/bundle`

Did you try upgrading rubygems & bundler?

# bundle --version
Bundler version 2.4.10

Post steps to reproduce the problem

# use Gemfile from description section
bundle config set --local deployment true
bundle cache
bundle install

Which command did you run?

bundle install

What were you expecting to happen?

It shouldn't load metadata in deployment mode when plugins are specified (and indeed - if you comment out the plugin line, it doesn't load the metadata)

What actually happened?

It loads metadata

If not included with the output of your command, run bundle env and paste the output below

Environment

Bundler       2.4.10
  Platforms   ruby, x86_64-linux
Ruby          2.7.5p203 (2021-11-24 revision f69aeb83146be640995753667fdd6c6f157527f5) [x86_64-linux]
  Full Path   /usr/bin/ruby2.7
  Config Dir  /etc
RubyGems      3.2.6
  Gem Home    /home/docker/.gem/2.7
  Gem Path    /home/docker/.gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0:/home/docker/.gem/2.7
  User Home   /home/docker
  User Path   /home/docker/.gem/ruby/2.7.0
  Bin Dir     /home/docker/.gem/2.7/bin
Tools         
  Git         2.25.1
  RVM         not installed
  rbenv       not installed
  chruby      not installed

Bundler Build Metadata

Built At          2023-03-27
Git SHA           7ffdec80d0
Released Version  true

Bundler settings

app_config
  Set via BUNDLE_APP_CONFIG: "/home/docker/.bundle"
build.ffi
  Set for your local app (/home/docker/.bundle/config): "--enable-system-libffi"
  Set for the current user (/home/docker/.bundle/config): "--enable-system-libffi"
build.nokogiri
  Set for your local app (/home/docker/.bundle/config): "--use-system-libraries"
  Set for the current user (/home/docker/.bundle/config): "--use-system-libraries"
cache_all
  Set for your local app (/home/docker/.bundle/config): false
  Set for the current user (/home/docker/.bundle/config): false
deployment
  Set for your local app (/home/docker/.bundle/config): true
  Set for the current user (/home/docker/.bundle/config): true
jobs
  Set for your local app (/home/docker/.bundle/config): 8
  Set for the current user (/home/docker/.bundle/config): 8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant