| Age | Commit message (Collapse) | Author |
|
|
|
|
|
assigned to any Windows runner group
https://github.com/ruby/rubygems/commit/3ddb740969
|
|
I organized all examples the followings:
```
Total test time: 2468.41 seconds
Total files: 168
Group A: 42 files, 617.08 seconds
Group B: 42 files, 617.05 seconds
Group C: 42 files, 617.14 seconds
Group D: 42 files, 617.14 seconds
```
https://github.com/ruby/rubygems/commit/94d41e6c7c
|
|
This is a first pass to improve the way errors are handled and raised in
bundler's tests. The goal is to clean up tests and modernize them -
these were some obvious areas that could be cleaned up.
- Instead of raising "ZOMG" in the load error tests, it now tests for
the actual error and gem raising.
- Improve error messages where applicable.
- All errors raise a specific error class, rather than falling back to a
default and just setting a message.
- Removed arguments and `bundle_dir` option from `TheBundle` class as it wasn't
actually used so therefore we don't need to raise an error for extra
arguments.
- Removed error from `BundlerBuilder`, as it won't work if it's not
`bundler`, also it never uses `name`. The only reaon `name` is passed
in is because of metaprogramming on loading the right builder. I
think that should eventually be refactored.
- Replaced and removed `update_repo3` and `update_repo4` in favor of
just `build_repo3` and `build_repo4`. Rather than tell someone writing
tests to use a different method, automatically use the right method.
https://github.com/ruby/rubygems/commit/68c39c8451
|
|
```
$ rake spec:regular
Successfully built RubyGem
Name: bundler
Version: 4.0.0.dev
File: bundler-4.0.0.dev.gem
```
https://github.com/ruby/rubygems/commit/8f0ca5eefa
|
|
Always build gems with RubyGems programmatically
https://github.com/ruby/rubygems/commit/5cc0c34e64
|
|
This is a follow up to #9053. We can avoid shelling out for generating
the gem index.
https://github.com/ruby/rubygems/commit/e40bafe9f1
|
|
|
|
https://github.com/ruby/rubygems/commit/2142e405b0
|
|
I'm trying to speed up the bundler tests. The tests shell out a lot in
order to build gems. We can build gems without creating a sub-process.
This change reduced the test suite time from ~24 minutes, to about ~21
minutes on my machine. Once we have more of these "asset generation"
routines done in the same process, I think we can start caching the
outputs for further improvements
https://github.com/ruby/rubygems/commit/ebf27056c6
|
|
https://github.com/ruby/rubygems/commit/89e95d0f15
|
|
https://github.com/ruby/rubygems/commit/33c7a9a565
|
|
https://github.com/ruby/rubygems/commit/6e965b7872
|
|
https://github.com/ruby/rubygems/commit/c3cc38c72c
|
|
https://github.com/rubygems/rubygems/commit/47c3dc19ee
Co-authored-by: Jonathan Barquero <jonbarlo@hotmail.com>
|
|
Previous implementation included an empty element in the list of
deprecations.
https://github.com/rubygems/rubygems/commit/59eb233039
|
|
There are several issues with these which I'm not sure I'll have time to
address properly. I prefer to keep our default branch in a releasable
state just in case. Once they are fixed, this can be reverted.
|
|
We now run specs against a single version, so I prefer to keep a single
branch. Once we bump the major version, this will need very little
updates, and that seems fine.
https://github.com/rubygems/rubygems/commit/3866d25a00
|
|
https://github.com/rubygems/rubygems/commit/c65e34a904
|
|
The location has been consistent with upstream for a while so the
previous glob was no longer matching any files.
https://github.com/rubygems/rubygems/commit/dae40b7041
|
|
spec:deps task
https://github.com/rubygems/rubygems/commit/3189d3e49b
|
|
When we need to reset system gems during specs, there's no need to
rebuild bundler, we can copy over the original gem home.
https://github.com/rubygems/rubygems/commit/7b4f80747b
|
|
Running everything in `bundled_app` by default causes the `bundled_app`
helper to be used everytime, and that will create a scoped bundled_app
folder if it does not exist. That causes `bin/rake spec:deps` to create
an empty `tmp/2.1/bundled_app` folder which is a bit weird.
This commit changes specs to not switch to a (possibly empty)
bundled_app directory when not necessary (for example, when running
`gem` commands in order to setup test dependencies).
https://github.com/rubygems/rubygems/commit/4bf89c0705
|
|
https://github.com/rubygems/rubygems/commit/8d4eb154b1
|
|
https://github.com/rubygems/rubygems/commit/043f73586b
|
|
https://github.com/rubygems/rubygems/commit/64bdff1e1e
|
|
If you abort running test suite with a quick double Ctrl-C, tmp files
will be left around, and they will interfere with the next test run.
To avoid this, make sure to clear them once at the beginning of the test
suite.
### Before
```
$ bin/parallel_rspec
16 processes for 175 specs, ~ 11 specs per process
.............................................................................................^C^C
Finished in 19.45 seconds (files took 0.42722 seconds to load)
94 examples, 0 failures
(... turbo tests backtrace ...)
$ bin/parallel_rspec
16 processes for 175 specs, ~ 11 specs per process
.F....F....F...F......^C
Failures:
(... failures' details ...)
```
### After
```
$ bin/parallel_rspec
16 processes for 175 specs, ~ 11 specs per process
.................................................................................^C^C
Finished in 18.18 seconds (files took 0.4383 seconds to load)
82 examples, 0 failures
(... turbo tests backtrace ...)
$ bin/parallel_rspec
16 processes for 175 specs, ~ 11 specs per process
................................................................................^C^C
Finished in 8.79 seconds (files took 0.45187 seconds to load)
80 examples, 0 failures
(... turbo tests backtrace ...)
```
https://github.com/rubygems/rubygems/commit/6767a52711
|
|
The previous default can already be configured with `bundle config
path.system true`.
https://github.com/rubygems/rubygems/commit/cb483b79db
|
|
|
|
Also removed the helper to install real gems during specs to avoid the
temptation of introducing network stuff again.
https://github.com/rubygems/rubygems/commit/a1ab5e319a
|
|
https://github.com/rubygems/rubygems/commit/672722cd4d
|
|
https://github.com/rubygems/rubygems/commit/852db00169
|
|
I plan to introduce a `base_system_gems` helper to actually install gems
from `base_system_gem_path` into system gems but that would collapse
with an existing helper.
https://github.com/rubygems/rubygems/commit/714c209e62
|
|
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
|
|
They cause flakies when different tests start them in parallel, and also
make the specs more complicated.
|
|
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
|
|
Since we no longer pass ruby CLI flags in our spec commands, we no
longer need the previous workaround and can get the realworld code
tested.
https://github.com/rubygems/rubygems/commit/fd92c855fb
|
|
https://github.com/rubygems/rubygems/commit/dafe50f171
|
|
https://github.com/rubygems/rubygems/commit/8b7ddf8a07
|
|
https://github.com/rubygems/rubygems/commit/cb1f19573a
|
|
The mirror probing spec file was moved to our regular suite, which runs
in parallel, recently. These specs rely on starting and stopping actual
servers in localhost, but this does not play nice with parallelization,
because a spec may kill the webserver another spec has created.
This commit moves mirror probing specs to not need to start servers in
localhost and do something more similar to what the other specs do.
https://github.com/rubygems/rubygems/commit/ca9a19706f
|
|
|
|
Currently to test Bundler 3 mode we have to actually edit the version
file to simulate we're running a future version. This is inconvenient.
Instead, allow passing an environment variable, `BUNDLER_3_MODE`, to set
the "working mode" Bundler should use.
This can now be set easily by end users to enable them to try out the
changes in the future version and give us feedback.
It's unclear how version auto-switching should work when this
environment variable is set, so the auto-switching feature will be
disabled in that case.
https://github.com/rubygems/rubygems/commit/4e92e9b209
|
|
This will help centralize wheel platform selection logic eventually
Signed-off-by: Samuel Giddins <segiddins@segiddins.me>
|
|
`bin/rspec` binstub still works
https://github.com/rubygems/rubygems/commit/24e6699316
|
|
https://github.com/rubygems/rubygems/commit/bb13f4e702
|
|
Let them run against the version resolved by the `test_gems.rb` gemfile.
This should fix ruby-core CI job that was broken by the release of rake
13.3.0.
|
|
x64-mingw-ucrt (platforms)
- the x64-mingw32 platform has been superseded by x64-mingw-ucrt
- the mingw-ucrt platform is present as of Windows 10, which was released 10 years ago in 2015 and all versions prior to 10 are end-of-life and 10 will be by mid October 2025
- newer rubies use the mingw-ucrt platform instead of the mingw32 platform, meaning using the deprecated platform can cause issues during gem installation
https://github.com/rubygems/rubygems/commit/b9d871022e
|
|
|