summaryrefslogtreecommitdiff
path: root/spec/bundler/support/env.rb
AgeCommit message (Collapse)Author
2025-06-30[rubygems/rubygems] Remove "double CI" for testing Bundler 4 modeDavid Rodríguez
Since now every functionality that changes in Bundler 4 is under a setting, we can enable that setting to test the new functionality, without having to run our full CI twice. This can actually be seen as increasing coverage, because Bundler 4 functionality will now be tested on Windows, MacOS, or any other environment where previously "Bundler 4 mode" was not running. https://github.com/rubygems/rubygems/commit/1cb3e009fc
2025-06-26[rubygems/rubygems] Simulate Bundler 4 in a better wayDavid Rodríguez
Overriding the version constant feels too magic and creates a set of problems. For example, Bundler will lock the simulated version, and that can cause issues when the lockfile is used under an environment not simulating Bundler 4 (it will try to auto-install and auto-switch to a version that does not exist). On top of that, it can only be configured with an ENV variable which is not too flexible. This commit takes a different approach of using a setting, which is configurable through ENV or `bundle config`, and pass the simulated version to `Bundler::FeatureFlag`. The real version is still the one set by `VERSION`, but anything that `Bundler::FeatureFlag` controls will use the logic of the "simulated version". In particular, all feature flags and deprecation messages will respect the simulated version, and this is exactly the set of functionality that we want users to be able to easily try before releasing it. https://github.com/rubygems/rubygems/commit/8129402193
2025-01-16[rubygems/rubygems] Extract logic to manipulate RUBYLIB in specs to a helperDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0057382bb1
2024-09-02[rubygems/rubygems] Make ruby-core check not depend on ENVDavid Rodríguez
I found it useful to be able to use `GEM_COMMAND` outside of a ruby-core env, so I made the ruby-core env detection not depend on it. https://github.com/rubygems/rubygems/commit/6cb389c290
2024-06-06[rubygems/rubygems] Stop depending on `pathname` for subprocess launchingDavid Rodriguez
When launching bundler subprocesses for end to end testing, all of them will load the `spec/support/rubygems_version_manager.rb` file passed as a ruby's `-r` flag. Unfortunately this file depends on `pathname`, so unless we drop that dependency, we can't really test support for including the `pathname` gem in the `Gemfile`. This commit implements some refactorings to avoid loading `pathname` inside `bundler` test subprocesses. https://github.com/rubygems/rubygems/commit/c1f948788c