Prune bundler tests incompatible with bundler vendoring
nateberkopec opened this issue · comments
I get this error:
/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:57:in `rescue in start': Bundler could not find compatible versions for gem "nio4r": (Bundler::VersionConflict)
In Gemfile.bundle_env_preservation_test:
puma was resolved to 5.6.5, which depends on
nio4r (~> 2.0)
Could not find gem 'nio4r (~> 2.0)', which is required by gem 'puma', in any of the sources.
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:44:in `start'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:23:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:264:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:467:in `materialize'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:185:in `specs'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:233:in `specs_for'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/runtime.rb:18:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler.rb:150:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `block in <top (required)>'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:136:in `with_level'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:88:in `silence'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `<top (required)>'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:317:in `raise_error_unless_state': Unable to satisfy the following requirements: (Bundler::Molinillo::VersionConflict)
- `nio4r (~> 2.0) aarch64-linux` required by `puma (5.6.5) (aarch64-linux)`
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:299:in `block in unwind_for_conflict'
from <internal:kernel>:90:in `tap'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:297:in `unwind_for_conflict'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:257:in `process_topmost_state'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:182:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolver.rb:43:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:49:in `start'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:23:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:264:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:467:in `materialize'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:185:in `specs'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:233:in `specs_for'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/runtime.rb:18:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler.rb:150:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `block in <top (required)>'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:136:in `with_level'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:88:in `silence'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `<top (required)>'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
E/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:57:in `rescue in start': Bundler could not find compatible versions for gem "nio4r": (Bundler::VersionConflict)
In Gemfile:
puma was resolved to 5.6.5, which depends on
nio4r (~> 2.0)
Could not find gem 'nio4r (~> 2.0)', which is required by gem 'puma', in any of the sources.
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:44:in `start'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:23:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:264:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:467:in `materialize'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:185:in `specs'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:233:in `specs_for'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/runtime.rb:18:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler.rb:150:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `block in <top (required)>'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:136:in `with_level'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:88:in `silence'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `<top (required)>'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:317:in `raise_error_unless_state': Unable to satisfy the following requirements: (Bundler::Molinillo::VersionConflict)
- `nio4r (~> 2.0) aarch64-linux` required by `puma (5.6.5) (aarch64-linux)`
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:299:in `block in unwind_for_conflict'
from <internal:kernel>:90:in `tap'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:297:in `unwind_for_conflict'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:257:in `process_topmost_state'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolution.rb:182:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/vendor/molinillo/lib/molinillo/resolver.rb:43:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:49:in `start'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/resolver.rb:23:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:264:in `resolve'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:467:in `materialize'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:185:in `specs'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/definition.rb:233:in `specs_for'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/runtime.rb:18:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler.rb:150:in `setup'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `block in <top (required)>'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:136:in `with_level'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/ui/shell.rb:88:in `silence'
from /nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/bundler/setup.rb:20:in `<top (required)>'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
Nix
I think you need to share more about your local env @nateberkopec? As we aren't seeing this in CI?
Totes. I've seen this before on Mac/Homebrew as well so I know it's not specific to this exact Nix setup.
git clean -fdx -- test
?
Good idea, but no luck. same error.
Although I just watched @JuanitoFatas set up the tests for the first time and they passed so maybe it is me
I totally forgot something, do you do the following, usually to vendor/bundle
?
bundle config set --local path
I do!
Setting BUNDLE_PATH changes the failure I get, which is progress:
1) Error:
TestPreserveBundlerEnv#test_phased_restart_preserves_unspecified_bundle_gemfile:
Timeout::Error: Client Read Timeout
/host/nateberkopec/Documents/Code.nosync/upstream/puma/test/helpers/integration.rb:227:in `read_response'
/host/nateberkopec/Documents/Code.nosync/upstream/puma/test/helpers/integration.rb:177:in `read_body'
test/test_preserve_bundler_env.rb:81:in `test_phased_restart_preserves_unspecified_bundle_gemfile'
/host/nateberkopec/Documents/Code.nosync/upstream/puma/test/helper.rb:85:in `block (4 levels) in run'
/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/timeout.rb:97:in `block in timeout'
/nix/store/zlhba012ssxsjzvn9fynw7dyiahgq7ng-ruby-3.0.4/lib/ruby/3.0.0/timeout.rb:107:in `timeout'
/host/nateberkopec/Documents/Code.nosync/upstream/puma/test/helper.rb:83:in `block (3 levels) in run'
I just ran tests (tried #2948 locally), and I had another .bundle
directory upstream or in ~/home. Had similar errors, removed and tests passed.
Also, I think Actions CI does not set any Bundler ENV variables, but if you're using a version switcher, that may be setting some?
I've got a gazillion Ruby versions on Windows, and a bit less on Ubuntu. I've always used my own switching.
Otherwise, I have no idea...