<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/spec/bundler/support/env.rb, branch v4.0.3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[rubygems/rubygems] Remove "double CI" for testing Bundler 4 mode</title>
<updated>2025-06-30T03:56:50+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-06-25T14:20:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9e566141cd7405f6e6d9948ba3fb073c6143b684'/>
<id>9e566141cd7405f6e6d9948ba3fb073c6143b684</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Simulate Bundler 4 in a better way</title>
<updated>2025-06-25T23:06:48+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-06-18T20:08:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=90085f62fb793f47e43b64acf6a32900ba8e6e4d'/>
<id>90085f62fb793f47e43b64acf6a32900ba8e6e4d</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Extract logic to manipulate RUBYLIB in specs to a helper</title>
<updated>2025-01-16T10:41:11+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2025-01-15T19:59:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=10e7e92badce82f25118b6c0673ea7b3ce97e54d'/>
<id>10e7e92badce82f25118b6c0673ea7b3ce97e54d</id>
<content type='text'>
https://github.com/rubygems/rubygems/commit/0057382bb1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/rubygems/rubygems/commit/0057382bb1
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Make ruby-core check not depend on ENV</title>
<updated>2024-09-02T12:31:15+00:00</updated>
<author>
<name>David Rodríguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2024-08-28T10:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9d522cc44d256bcad157f9dc351c7dfce146c848'/>
<id>9d522cc44d256bcad157f9dc351c7dfce146c848</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>[rubygems/rubygems] Stop depending on `pathname` for subprocess launching</title>
<updated>2024-06-06T18:44:52+00:00</updated>
<author>
<name>David Rodriguez</name>
<email>deivid.rodriguez@riseup.net</email>
</author>
<published>2021-10-18T19:11:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=da75df2f75648d7ff87e4701874b2b425ca83f71'/>
<id>da75df2f75648d7ff87e4701874b2b425ca83f71</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
</feed>
