summaryrefslogtreecommitdiff
path: root/spec/bundler/lock
Commit message (Collapse)AuthorAgeFilesLines
* Don't suggest `--full-index` on API Response mismatch errorsDavid Rodríguez2023-03-231-1/+1
| | | | | | | I've never seen this error in real life, and if it was happening, I think it's either some server side issue that would need to be fixed or some transient issue. We should move away from the full index, since it's slow, so let's stop recommending it.
* Don't remove RUBY platform when healing a lockfile with missing specsDavid Rodríguez2023-03-231-39/+53
|
* Don't remove RUBY platform when healing a lockfile with missing specsDavid Rodríguez2023-03-231-1/+1
|
* [rubygems/rubygems] Simplify `lockfile_platforms` helperDavid Rodríguez2023-03-171-1/+1
| | | | | | To make it easier to change the default platforms that get locked later. https://github.com/rubygems/rubygems/commit/255c4012ec
* [rubygems/rubygems] Use splatted args to `lockfile_platforms_for`David Rodríguez2023-03-171-1/+1
| | | | | | Nicer :) https://github.com/rubygems/rubygems/commit/c0ab2893c3
* [rubygems/rubygems] Regenerate lockfile if spec list is invalid/empty.Ellen Marie Dash2023-03-021-0/+51
| | | | https://github.com/rubygems/rubygems/commit/d2c56315e2
* [rubygems/rubygems] Auto-heal on corrupted lockfile with missing depsDaniel Colson2023-03-011-4/+19
| | | | | | | | | | | | | | | | | | | Following up on https://github.com/rubygems/rubygems/pull/6355, which turned a crash into a nicer error message, this commit auto-heals the corrupt lockfile instead. In this particular case (a corrupt Gemfile.lock with missing dependencies) the LazySpecification will not have accurate dependency information, we have to materialize the SpecSet to determine there are missing dependencies. We've already got a way to handle this, via `SpecSet#incomplete_specs`, but it wasn't quite working for this case because we'd get to `@incomplete_specs += lookup[name]` and `lookup[name]` would be empty for the dependency. With this commit we catch it a bit earlier, marking the parent spec containing the missing dependency as incomplete. https://github.com/rubygems/rubygems/commit/486ecb8f20
* [rubygems/rubygems] Restore better error message when locked ref does not existDavid Rodríguez2023-02-211-0/+27
| | | | https://github.com/rubygems/rubygems/commit/c8e024359f
* [rubygems/rubygems] Avoid crashing with a corrupted lockfileDaniel Colson2023-02-091-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I did a bad thing (script that edits the Gemfile.lock directly) and ended up with a Gemfile.lock that was completely missing some indirect dependencies. While this is my fault and an error is reasonable, I noticed that the error got progressively less friendly in recent versions of bundler. Something similar came up in https://github.com/rubygems/rubygems/issues/6210, and this commit would have helped with that case as well (although we've already handled this a different way with #6219). Details: --- Back on Bundler 2.2.23, a corrupt lockfile like this would cause a helpful error: ``` Unable to find a spec satisfying minitest (>= 5.1) in the set. Perhaps the lockfile is corrupted? ``` Bundler 2.3.26 gave a helpful warning: ``` Warning: Your lockfile was created by an old Bundler that left some things out. Because of the missing DEPENDENCIES, we can only install gems one at a time, instead of installing 16 at a time. You can fix this by adding the missing gems to your Gemfile, running bundle install, and then removing the gems from your Gemfile. The missing gems are: * minitest depended upon by activesupport ``` But then continued on and crashed while trying to report the unmet dependency: ``` --- ERROR REPORT TEMPLATE ------------------------------------------------------- NoMethodError: undefined method `full_name' for nil:NilClass lib/bundler/installer/parallel_installer.rb:127:in `block (2 levels) in check_for_unmet_dependencies' ... ``` Bundler 2.4.0 and up crash as above when jobs=1, but crash even harder when run in parallel: ``` --- ERROR REPORT TEMPLATE ------------------------------------------------------- fatal: No live threads left. Deadlock? 3 threads, 3 sleeps current:0x00007fa6b6704660 main thread:0x00007fa6b6704660 * #<Thread:0x000000010833b130 sleep_forever> rb_thread_t:0x00007fa6b6704660 native:0x0000000108985600 int:0 * #<Thread:0x0000000108dea630@Parallel Installer Worker #0 tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:90 sleep_forever> rb_thread_t:0x00007fa6b67f67c0 native:0x0000700009a62000 int:0 * #<Thread:0x0000000108dea4a0@Parallel Installer Worker #1 tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:90 sleep_forever> rb_thread_t:0x00007fa6b67f63c0 native:0x0000700009c65000 int:0 <internal:thread_sync>:18:in `pop' tmp/1/gems/system/gems/bundler-2.5.0.dev/lib/bundler/worker.rb:42:in `deq' ... ``` Changes --- This commit fixes the confusing thread deadlock crash by detecting if dependencies are missing such that we'll never be able to enqueue. When that happens we treat it as a failure so the install can finish. That gets us back to the `NoMethodError`, which this commit fixes by using a different warning in the case where no spec is found. https://github.com/rubygems/rubygems/commit/d73001a21d
* Update Bundler to 2.4.1 & and RubyGems to 3.4.1David Rodríguez2022-12-251-0/+36
|
* Merge RubyGems-3.4.0 and Bundler-2.4.0Hiroshi SHIBATA2022-12-241-0/+38
|
* Merge RubyGems/Bundler masterHiroshi SHIBATA2022-12-201-0/+11
| | | | Pick from https://github.com/rubygems/rubygems/commit/ba3adad4d80038ffd7bea015da2f11d3e8a2ff82
* [rubygems/rubygems] Fix crash when lockfile is missing dependenciesDavid Rodríguez2022-12-201-0/+53
| | | | | | | | | | | | | We have a check for a corrupt lockfile right before installing. However, the check accounted for locked specs not satisfying locked dependencies, but not for locked specs missing for some locked dependencies. Instead of fixing this check, I decided to remove it in favor of automatically detecting the situation and re-resolve to automatically fix the lockfile rather than printing a warning but leave the problem there. https://github.com/rubygems/rubygems/commit/4a7a584252
* Merge RubyGems/Bundler masterHiroshi SHIBATA2022-12-151-0/+7
| | | | Pick from https://github.com/rubygems/rubygems/commit/084f7d1f21f6fc3e2bb685b7bda3653fb2891c6e
* Merge RubyGems/Bundler masterHiroshi SHIBATA2022-12-091-0/+8
| | | | Pick from https://github.com/rubygems/rubygems/commit/823c776d951f3c35094611473ec77f94e8bf6610
* Merge rubygems master from ↵Hiroshi SHIBATA2022-07-291-2/+2
| | | | https://github.com/rubygems/rubygems/commit/446cc57a7ccdf1924deb291be9571219e7ba8523
* [rubygems/rubygems] Use main as default branch for Bundler specsDavid Rodríguez2022-07-271-3/+3
| | | | https://github.com/rubygems/rubygems/commit/482077d185
* Merge RubyGems and Bundler masterHiroshi SHIBATA2022-07-131-1/+1
|
* Merge rubygems master 1e4eda741d732ca1bd7031aef0a16c7348adf7a5Hiroshi SHIBATA2022-04-281-1/+1
|
* Track RubyGems 3.4.0dev and Bundler 2.4.0devHiroshi SHIBATA2021-12-271-12/+4
|
* [rubygems/rubygems] Move setup to the spec that uses itDavid Rodríguez2021-12-271-9/+11
| | | | https://github.com/rubygems/rubygems/commit/7cf0a8fa8e
* [rubygems/rubygems] Remove unused includeDavid Rodríguez2021-12-271-2/+0
| | | | https://github.com/rubygems/rubygems/commit/a581a1dd50
* Merge RubyGems-3.3.2 and Bundler-2.3.2Hiroshi SHIBATA2021-12-241-5/+2
|
* Merge RubyGems-3.3.0 and Bundler-2.3.0Hiroshi SHIBATA2021-12-211-116/+29
|
* [rubygems/rubygems] Remove `lockfile_should_be` helperDavid Rodríguez2021-11-121-37/+37
| | | | | | It doesn't add anything. https://github.com/rubygems/rubygems/commit/ece3c864df
* [rubygems/rubygems] Don't warn when a lockfile is locked to a dev versionDavid Rodríguez2021-10-271-6/+102
| | | | | | | | | | Even if it's newer than the running versions. Dev versions are not released to rubygems.org, so the warning message suggests a command that doesn't work. And dev versions are currently non deterministic (2.3.0.dev can be many different versions), so the warning doesn't really make sense at the moment. https://github.com/rubygems/rubygems/commit/6f31af27ef
* [ruby/rubygems] Get specs green on arm64-darwin-20David Rodriguez2021-10-111-2/+1
| | | | https://github.com/rubygems/rubygems/commit/7a0bd9801d
* [rubygems/rubygems] Explicitly define a global source for testsDaniel Niknam2021-07-272-0/+24
| | | | | | This is in preparation for deprecating source-less gemfiles. https://github.com/rubygems/rubygems/commit/d6493fa3e2
* Sync RubyGems and Bundler with upstreamHiroshi SHIBATA2021-07-071-78/+4
|
* Sync latest bundler & rubygems development versionDavid Rodríguez2021-07-071-1/+1
|
* Merge the master branch of BundlerHiroshi SHIBATA2021-04-151-34/+25
|
* Sync latest development version of bundler & rubygemsDavid Rodríguez2021-03-081-1/+1
|
* Track Bundler master(2.3.0.dev) branch at ↵Hiroshi SHIBATA2021-01-041-1/+1
| | | | 55634a8af18a52df86c4275d70fa1179118bcc20
* Prepare to release rubygems-3.2.1 and bundler-2.2.1Hiroshi SHIBATA2020-12-151-3/+1
|
* Merge prepare version of Bundler 2.2.0Hiroshi SHIBATA2020-12-081-168/+88
|
* Merge bundler-2.2.0.rc.2Hiroshi SHIBATA2020-10-151-1/+1
|
* [rubygems/rubygems] s/install_gemfile!/install_gemfileDavid Rodríguez2020-06-181-3/+3
| | | | https://github.com/rubygems/rubygems/commit/4d1a0c465a
* [rubygems/rubygems] s/bundle!/bundleDavid Rodríguez2020-06-181-4/+4
| | | | https://github.com/rubygems/rubygems/commit/746a4b3d74
* [rubygems/rubygems] Make helpers raise by defaultDavid Rodríguez2020-06-181-4/+4
| | | | https://github.com/rubygems/rubygems/commit/ade0c441d5
* [rubygems/rubygems] Fix a couple of specs that were loading an incorrect bundlerDavid Rodríguez2020-06-181-1/+1
| | | | | | | | | | | We have a check on an `at_exit` hook that checks that system bundler is never loaded instead of our development copy. The check was failing in these cases, but in a silent way because the errors were being swallowed. This commit changes these specs to make sure they load the right bundler. https://github.com/rubygems/rubygems/commit/cd1c1bc297
* [rubygems/rubygems] Remove `forgotten_command_line_usages` from specsDavid Rodríguez2020-06-051-1/+2
| | | | | | | | Instead, use the non-deprecated option except when specifically testing deprecated CLI flags. In that case, pass the flag directly and limit the specs to `bundler < 3`. https://github.com/rubygems/rubygems/commit/3d5e186241
* Sync Bundler PR #3624Hiroshi SHIBATA2020-05-221-2/+6
|
* Update the bundler version with master branchHiroshi SHIBATA2020-05-131-16/+18
|
* Merge Bundler 2.1.0.pre3 released versionHiroshi SHIBATA2019-11-131-2/+0
|
* Merge Bundler 2.1.0.pre.3Hiroshi SHIBATA2019-11-111-1/+1
| | | | | | | | | | | | | | | Features: - Add caller information to some deprecation messages to make them easier to fix [#7361](https://github.com/bundler/bundler/pull/7361) - Reconcile `bundle cache` vs `bundle package` everywhere. Now in docs, CLI help and everywhere else `bundle cache` is the preferred version and `bundle package` remains as an alias [#7389](https://github.com/bundler/bundler/pull/7389) - Display some basic `bundler` documentation together with ruby's RDoc based documentation [#7394](https://github.com/bundler/bundler/pull/7394) Bugfixes: - Fix typos deprecation message and upgrading docs [#7374](https://github.com/bundler/bundler/pull/7374) - Deprecation warnings about `taint` usage on ruby 2.7 [#7385](https://github.com/bundler/bundler/pull/7385) - Fix `--help` flag not correctly delegating to `man` when used with command aliases [#7388](https://github.com/bundler/bundler/pull/7388) - `bundle add` should cache newly added gems if an application cache exists [#7393](https://github.com/bundler/bundler/pull/7393) - Stop using an insecure folder as a "fallback home" when user home is not defined [#7416](https://github.com/bundler/bundler/pull/7416) - Fix `bundler/inline` warning about `Bundler.root` redefinition [#7417](https://github.com/bundler/bundler/pull/7417)
* [bundler/bundler] Always set `cache_all` via config during testsDavid Rodríguez2019-08-031-1/+2
| | | | | | | So that the behavior is the same regardless of the tested bundler version. https://github.com/bundler/bundler/commit/664549427a
* [bundler/bundler] Fully remove compatibility guardDavid Rodríguez2019-08-031-2/+0
| | | | https://github.com/bundler/bundler/commit/2a7a5daba0
* [bundler/bundler] Normalize file:// handling in specsDavid Rodríguez2019-08-031-70/+70
| | | | https://github.com/bundler/bundler/commit/5946d62ad0
* Merge bundler master from upstream.Hiroshi SHIBATA2019-06-091-139/+46
| | | | Pick from 8dd59e3ba97eb80a599f8149f31bf40773b69dc0
* Merge Bundler 2.1.0.pre.1 as developed version from upstream.hsbt2019-04-142-1450/+224
| | | | | | https://github.com/bundler/bundler/commit/a53709556b95a914e874b22ed2116a46b0528852 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e