summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #7439Bundlerbot2019-12-131-3/+3
| | | | | | | | | | | | | | | 7439: Fix typo's in Changelog r=deivid-rodriguez a=p8 ### What was the end-user problem that led to this PR? The problems were typos in the Changelog ### What is your fix for the problem, implemented in this PR? Fix the typos Co-authored-by: Petrik de Heus <petrik@deheus.net> (cherry picked from commit f6045fcf93cd3076cdd3d5e15622927c87df2db5)
* Merge #7422Bundlerbot2019-12-133-4/+5
| | | | | | | | | | | | | | | | | | | | | | | 7422: Turn on warning mode for specs r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we're missing verbose warnings like the one fixed by #7417. ### What was your diagnosis of the problem? My diagnosis was that our specs should let us know about this. ### What is your fix for the problem, implemented in this PR? My fix is to enable warnings from our helpers that shell out, and fix the warnings they print. There's also some unrelated changes here that I'll try to split out once I get this green. ### Why did you choose this fix out of the possible options? I chose this fix because it makes it so that our specs help us catching these warnings earlier. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 4244534ee9acb6e345fb9066df568f50419ef8f7)
* Merge #7342Bundlerbot2019-12-132-20/+10
| | | | | | | | | | | | | | | | | | | 7342: Start using automatiek 0.3.0 r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that I added a feature to automatiek to vendor subdependencies, but we were not using it because it had not yet been released. ### What is your fix for the problem, implemented in this PR? My fix is to start using the feature now that it has been released. ### Why did you choose this fix out of the possible options? I chose this fix because it allows us to manage the `net-http-persistent` dependency in an easier way. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 48cb4eca964dc05b68f1c8fa2d83838da21ca182)
* Merge #7437v2.1.0.pre.3Bundlerbot2019-11-1239-284/+195
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7437: Extra patches for 2.1.0.pre.3 r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that before releasing 2.1.0.pre.3 I found some issues when integrating the new version into rubygems. ### What is your fix for the problem, implemented in this PR? My fix is to add the patches fixing the issues I found to the upcoming release. Co-authored-by: Bundlerbot <bot@bundler.io> Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Merge #7438Bundlerbot2019-11-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7438: Add missing `travis_retry`'s to TravisCI config r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that CI failed in #7437 due to a network issue. ### What was your diagnosis of the problem? My diagnosis was that we should add `travis_retry` in the task that failed and other short tasks that may touch the network. ### What is your fix for the problem, implemented in this PR? My fix is to do just that. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit fb17e293c627ae15c9b6afd43bc7cf9754689917)
| * Bump release date to todayDavid Rodríguez2019-11-121-1/+1
| |
| * Merge #7266Bundlerbot2019-11-1218-217/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7266: Bump to thor's master r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem is that we are currently cherry-picking some `thor` changes that are currently living on its master branch, but have not been released yet. The changes are about using `require_relative`and not relying on the LOAD_PATH. I cherry-picked them, because they were needed to fix some issues with `bundler` installed as a default gem. Anyways, it's always better to depend on released versions of our dependencies. ### What was your diagnosis of the problem? My diagnosis was... ### What is your fix for the problem, implemented in this PR? My fix is to do the same thing that I did for `Molinillo`in https://github.com/bundler/bundler/pull/7210, but for `thor`. I don't intend to merge it right now, but I want to make sure that we are ready to support a new version of `thor` if they released right now. So, I can block this PR until a release is out. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 2f93a0d8a464b38f6b60b5707fa7f55603581994)
| * Merge #7433Bundlerbot2019-11-111-26/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7433: Improve binstub specs r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that I run into some failures when testing rubygems against the latest bundler 2-1-stable branch of bundler. ### What was your diagnosis of the problem? In certain contexts, the previous approach of overwriting the version constant led into version mismatch issues. ### What is your fix for the problem, implemented in this PR? Since in this case we are actually testing some rubygems stuff present in the generated binstub, but we don't really care what the bundler gem is actually doing, we can follow the same approach as other specs and install a "dummy" bundler gem to the system gems home used by our specs. ### Why did you choose this fix out of the possible options? I chose this fix because it still tests the same thing but in a more resilient way, I believe. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit be3025b1d707f7666322b1b809d4056b43c327d2)
| * Merge #7435Bundlerbot2019-11-119-19/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7435: Fix RGV env variable specified as a path r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that using `RGV` (the environment variable we use to select the proper rubygems version to test bundler against) with a path was not quite working. Setting `RGV` to a path (`RGV=..`) is used in the rubygems repo to test the vendored copy of bundler (that lives at `bundler/` inside that repo) against the checked out copy of the repository. ### What was your diagnosis of the problem? My diagnosis was that the previous approach to switch the `rubygems` version, namely, reexec'ing with `--disable-gems` and explicitly requiring our "version switching code" was not quite working because nested subprocesses would end up "leaking" to the system copy of `rubygems` again. ### What is your fix for the problem, implemented in this PR? My fix is to use `RUBYOPT` to configure the path to the rubygems copy that should be used, since I found that even the `require "rubygems"` present's in [ruby's `gem_prelude.rb`](https://github.com/ruby/ruby/blob/c5eb24349a4535948514fe765c3ddb0628d81004/gem_prelude.rb#L1) respects the `-I` option in the `RUBYOPT` env variable. ### Why did you choose this fix out of the possible options? I chose this fix because it's simpler and works better. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 09e21f1e59c1e182361b56bd0796b47ae0fd8d86)
| * Merge #7434Bundlerbot2019-11-1110-19/+11
|/ | | | | | | | | | | | | | | | | | | 7434: More lazy loading and relative requires r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that testing the latest version of bundler as a vendored copy inside rubygems surfaced some more issues about requiring the wrong code, or activating default gems too early. ### What was your diagnosis of the problem? My diagnosis was that we should follow similar techniques I've used in other PRs: delay as much as possible requiring default gems, and don't rely on the LOAD_PATH for internal requires. ### What is your fix for the problem, implemented in this PR? My fix does just that, and also removes a bunch of `require`'s that were not necessary at all. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 147b9aa079f531ba5bf216d6d694fce5d36cfbfc)
* Merge #7428Bundlerbot2019-11-08882-1827/+1855
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7428: 2.1.0.pre.3 r=deivid-rodriguez a=deivid-rodriguez This is the upcoming 2.1.0.pre.3. I only documented PRs that (I expect to) include user facing changes, but the release also includes: * Some improvements in bundler integration as a default gem. I don't think these changes should change behavior but there's some default gem integration issues that I could never reproduce but the less we rely and mess with bundler's own `$LOAD_PATH` usually help here. That's #7398. * Improvements in the experience debugging bundler by making the UI non silent by default. Again, I don't expect user facing changes, but if I'm missing something, I think it would be for the better. This is #7401. * Bumping fileutils version to 1.3.0. We were using 1.2.0 with some patches on top. Again, no expected changes on the user side, but we should aim that our releases include vendorize versions of dependencies that exactly match something released on rubygems.org, and this change goes in that direction. This is #7375. * Refactorings and updates to the development environment. Co-authored-by: Bundlerbot <bot@bundler.io>
| * Changelog for 2.1.0.pre.3release/2.1.0.pre.3David Rodríguez2019-11-081-0/+17
| |
| * Version 2.1.0.pre.3David Rodríguez2019-11-071-1/+1
| |
| * Merge #7417Bundlerbot2019-11-071-2/+6
| | | | | | | | | | | | | | | | | | 7417: Fix bundler/inline warning: method redefined; discarding old root r=deivid-rodriguez a=fatkodima Closes #6167 Co-authored-by: fatkodima <fatkodima123@gmail.com> (cherry picked from commit a1ecdbffceded635d615fc31d4823a2a67a8db0d)
| * Merge #7416Bundlerbot2019-11-073-47/+22
| | | | | | | | | | | | | | | | | | 7416: Don't use insecure temporary directory as home directory r=deivid-rodriguez a=fatkodima Closes #6501 Co-authored-by: fatkodima <fatkodima123@gmail.com> (cherry picked from commit ac758c84847a9850ae18226bfd5291e73e637ca3)
| * Merge #7427Bundlerbot2019-11-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7427: Pass `env` as a parameter to `sys_exec` r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that Windows has trouble with commands of the form `BUNDLE_FROZEN=true bundle install`. ### What was your diagnosis of the problem? My diagnosis was that we should use `Open3.popen3` explicit `env` argument instead of passing a command line that has environment variables in the front. ### What is your fix for the problem, implemented in this PR? My fix is to do just that. This is a follow up to #7011, but specifically for the `ruby` test helper. I expect this to fix some more Windows failures. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 6f452d62eb76c2699988e75b7a0eb69232026259)
| * Merge #7426Bundlerbot2019-11-072-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7426: Revert "I don't think we need this now" r=deivid-rodriguez a=deivid-rodriguez This reverts commit 36816866581147ba7bd491a2a658ac35a2f03afe. ### What was the end-user problem that led to this PR? The problem was that in #7401, after I got specs passing against a non-silenced by default UI, I started undoing workarounds that I thought were due to the silent by default UI. ### What was your diagnosis of the problem? My diagnosis was that in the case I'm reverting here this is not actually fixed, [as the Azure Pipelines logs confirm](https://dev.azure.com/bundler/bundler/_build/results?buildId=2662&view=ms.vss-test-web.build-test-results-tab&runId=1003360&resultId=101526&paneView=debug). ### What is your fix for the problem, implemented in this PR? My fix is to unrevert the specific commit that I shouldn't have reverted. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit b12a21f8cd2ab0ed66a6d0083df14b1444444198)
| * Merge #7425Bundlerbot2019-11-072-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7425: Properly avoid readline crashes when running specs on Windows r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that specs cannot be run on windows unless you add the ugly workaround currently included in the azure pipelines config. ### What was your diagnosis of the problem? My diagnosis was that the `tmp/tmpdir` and `tmp/home` folder (which act as `ENV["HOME"]` and `ENV["TMPDIR"]` for our specs) are emptied in an `around(:each)` hook, but there's some stuff going before that and after `ENV["HOME"]` and `ENV["TMPDIR"]` are set (on a `before(:suite)` hook) that might require the folders they point to to exist. This is the case of rb-readline, used on Windows: https://github.com/ConnorAtherton/rb-readline/blob/9fba246073f78831b7c7129c76cc07d8476a8892/lib/rbreadline.rb#L1096 or any bundler's code that uses `Bundler.user_home`: https://github.com/bundler/bundler/blob/f83412ae8cda9c933b8cf33ec2abfb78a408daab/lib/bundler.rb#L227 For example, running `rm -rf tmp/ && bin/rspec ./spec/other/major_deprecation_spec.rb:368` prints a warning about this that it's fixed by this PR: ``` $ rm -rf tmp/ && bin/rspec ./spec/other/major_deprecation_spec.rb:368 Randomized with seed 1955 (... stuff ...) `/home/deivid/Code/bundler/tmp/1/home` is not a directory. Bundler will use `/tmp/bundler/home/deivid' as your home directory temporarily. . Retried examples: 0 Finished in 5.26 seconds (files took 0.17927 seconds to load) 1 example, 0 failures Randomized with seed 1955 ``` ### What is your fix for the problem, implemented in this PR? My fix is to create the folders as soon as the environment variables are set. ### Why did you choose this fix out of the possible options? I chose this fix because it's more general that a workaround living on a specific CI config. Fixes #6902. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 3eabc1ca06e39e455469adf72e5d57e292dd08fc)
| * Merge #7424Bundlerbot2019-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7424: Drop unnecessary `tempfile` require r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The `tempfile` dependency was dropped in [1], but the require was left in there. This could cause gem conflicts because `tempfile` requires `tmpdir` which requires `fileutils`, which loads the default gem instead of our namespaced version, and that could cause fileutils version mismatches and code overriding warnings. [1]: https://github.com/bundler/bundler/commit/4a37d66f3f222739178d798b30fb135f2429fe45 ### What is your fix for the problem, implemented in this PR? My fix is to drop the unnecessary require. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 0070d9fdddc027c0ee17662a1617e05b17331171)
| * Merge #7393Bundlerbot2019-11-072-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7393: Make 'bundle add' cache newly added gems when needed r=deivid-rodriguez a=andrehjr ### What was the end-user problem that led to this PR? The problem was that when calling `bundle add` with cache_all as true, I have to call an additional `bundle install` to vendor gems. ### What was your diagnosis of the problem? My diagnosis was that a call to Bundler.load.cache was missing. For example Bundler::CLI::Update does the same after installing gems. ### What is your fix for the problem, implemented in this PR? My fix was to call Bundler.load.cache when `Bundler.app_cache.exist? ` ### Why did you choose this fix out of the possible options? I chose this fix because it looks like this makes the behavior consistent with other commands. I should also say that, as this is my first PR here, I'm not sure that this is the best solution, and it seems an easy fix for #7384. Co-authored-by: André Luis Leal Cardoso Junior <andrehjr@gmail.com> (cherry picked from commit f83412ae8cda9c933b8cf33ec2abfb78a408daab)
| * Merge #7394Bundlerbot2019-11-072-0/+65
| | | | | | | | | | | | | | | | | | | | | | 7394: Add inline RDoc documentation r=hsbt a=zverok Since Bundler became part of the standard library, it renders in Ruby's docs. Unfortunately, what renders there... is not really helpful: https://docs.ruby-lang.org/en/master/Bundler.html I've added rudimentary documentation for `Bundler` module and two of its most user-facing methods to solve this problem at least partially. Co-authored-by: zverok <zverok.offline@gmail.com> (cherry picked from commit a7cc4ec87f17e549a1f0fb9063c53a76889426d6)
| * Merge #7398Bundlerbot2019-11-071-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7398: Remove unnecessary lines from `bundler/setup` r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? These lines in the `bundler/setup` file are not necessary. ### What was your diagnosis of the problem? Bundler no longer needs to be in the `$LOAD_PATH` once a version of itself has been loaded. In any case, the `Metadata` source takes care of adding `bundler` to the index: https://github.com/bundler/bundler/blob/e70643c1be3a4417bd537d7e63470265465e693e/lib/bundler/source/metadata.rb#L13-L30 and then that spec is added to the resolution here: https://github.com/bundler/bundler/blob/e70643c1be3a4417bd537d7e63470265465e693e/lib/bundler/definition.rb#L180-L184 And from the resulting set of specs, the `$LOAD_PATH` is setup: https://github.com/bundler/bundler/blob/e70643c1be3a4417bd537d7e63470265465e693e/lib/bundler/runtime.rb#L25-L38 So `bundler` will be present in the `$LOAD_PATH` anyways, and the lines being removed here will never be useful. ### What is your fix for the problem, implemented in this PR? My fix is to remove these lines to make the code easier to follow. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit bf7df421ee6311fcc17e6dc46d204236f33b4b3f)
| * Merge #7402Bundlerbot2019-11-0758-126/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7402: Spec normalizations r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that I saw some room for improvement in our specs and I couldn't help myself :) ### What is your fix for the problem, implemented in this PR? Essentially, the idea of this PR is to avoid using `__FILE__` or other folder-structure specific constructs to look for files, and instead use our helpers ìn `spec/support/path.rb`. The idea is that the helpers in this file are aware that `bundler` specs can be run from ruby-core or the upstream repo, and the folder structure is different for both. Also, the PR normalizes some naming, some duplicated helpers, and the way we require files from specs. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 2e7a37b4517767190e227ed93814567f4b12413d)
| * Merge #7411Bundlerbot2019-11-072-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7411: Try out specs against MRI 2.6 + Rubygems 3.0 r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that our Azure build was using outdated versions of ruby and rubygems. ### What was your diagnosis of the problem? My diagnosis was that we should update them. ### What is your fix for the problem, implemented in this PR? My fix is to update them. With the latest versions, failures go down to 319. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 674966e21cc7257dd52797ef56ee9628c3ce1bc6)
| * Merge #7399Bundlerbot2019-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7399: Fix some realworld specs testing nothing r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that this helper was printing nothing to the standard output, so the specs in this file were just checking if lockfiles contained the empty string, which is obviously true. For example, https://github.com/bundler/bundler/blob/e70643c1be3a4417bd537d7e63470265465e693e/spec/realworld/edgecases_spec.rb#L31 ### What was your diagnosis of the problem? My diagnosis was that the helper needs to actually print the extracted information about the resolved gem, so it can be checked that the lockfile is correct. ### What is your fix for the problem, implemented in this PR? My fix adds the missing `puts`. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 46aead4739e079345b47b131f046775d515b332f)
| * Merge #7401Bundlerbot2019-11-0718-76/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7401: Stop silencing output by default r=indirect a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that bundler defaults to a silent UI: https://github.com/bundler/bundler/blob/e70643c1be3a4417bd537d7e63470265465e693e/lib/bundler.rb#L66-L68 In my opinion, this isn't a good behavior for a CLI tool, and forces us to override it in many many different places. It has also caused several issues, for example, https://github.com/bundler/bundler/issues/3710 where `bundle list` was printing nothing. The [solution to that issues](https://github.com/bundler/bundler/pull/3707) led us to add yet more places where we override the default UI, and @indirect [predicting that having to unset the UI everytime we want it to not be silent](https://github.com/bundler/bundler/pull/3707#issuecomment-108646127) would cause many headaches. Well, yeah... I've lost a lot of time trying to figure out why UI was silent sometimes, and normal another times, why some specs printed warnings and some didn't. In particular, see my series of "big fail PRs" fighting against bundler's UI: https://github.com/bundler/bundler/pull/7284, https://github.com/bundler/bundler/pull/7294, https://github.com/bundler/bundler/pull/7305, https://github.com/bundler/bundler/pull/7362. Another series of issues/PRs probably related to this is issue https://github.com/bundler/bundler/issues/6900, where the output would use a different UI on different environments. We had a lot of trouble to reliably fix it (https://github.com/bundler/bundler/pull/6994, https://github.com/bundler/bundler/pull/7002, https://github.com/bundler/bundler/issues/7253). I also run into these issues again when trying out the `RUBYGEMS_GEMDEPS` environment variable that enables `bundler/setup` from rubygems. ### What was your diagnosis of the problem? My diagnosis was that we shouldn't silence UI by default. ### What is your fix for the problem, implemented in this PR? My fix is to, instead of silencing and then overriding the default shell at many places, don't silence it by default and instead make it silent when needed. By doing this, I managed to get 100% of our specs green, so I'm pretty confident that the output is still the same (or if it's not, it's probably because some output/errors where being unintentionally swallowed). Now specs should pass, but they print a bunch of output to the screen. You can see error messages, hard crashes, success messages... Some of them might be showing actual issues with either the code or tests, so I plan to go through each of them and review them. I can do that in this PR or separately, no strong opinion. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 1a585f5cd760ae4be6930fd38d262677faa3694c)
| * Merge #7410Bundlerbot2019-11-0750-50/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7410: November man pages r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that man pages are outdated after the month change. Well, the problem actually is that I need to fix in a better way (like a monthly scheduled rebuild or something), but I keep just updating the man pages every month... :sweat_smile: ### What is your fix for the problem, implemented in this PR? My fix to run `bin/rake man:build` and commit the result. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 49f585ca9e5ecf2f0cf5529e1b320ce07d443de9)
| * Merge #7388Bundlerbot2019-11-072-11/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7388: Fix help with command aliases r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that the output of `bundle help install` and `bundle install --help` was inconstent with `bundle i --help`, and the same issue with all of the other command aliases. ### What was your diagnosis of the problem? My diagnosis was that the command reformatting so that `bundle <cmd> --help` "redirects" to `bundle help <cmd>` was ignoring command aliases. ### What is your fix for the problem, implemented in this PR? My fix is to make this logic aware of command aliases. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 5bc9c5868307679b79cdb7e4026da5f9e3888c63)
| * Merge #7389Bundlerbot2019-11-0719-474/+470
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7389: Wrap up `bundle cache` migration to current `bundle package` r=indirect a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that after https://github.com/bundler/bundler/pull/7249, we added the current `bundle package` functionality to the current `bundle cache` command, so that these commands are now aliases of each other. The initial plan was to do this in a more careful manner but we concluded that this was only _adding_ functionality to `bundle cache`, so not backwards incompatible. We still need to wrap up the original plan, where `bundle cache` is the preferred command. ### What is your fix for the problem, implemented in this PR? My fix is to migrate docs, tests and help text to use `bundle cache`, and to remove duplicated specs for `bundle cache` and `bundle package`, since they are testing the exact same code. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 5ba1360de631e2fabf2bfa998b104c4355c58b13)
| * Merge #7390Bundlerbot2019-11-07707-348/+348
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7390: Bump tested rubies and regenerate cassettes r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we were not testing against the latest patch level rubies. ### What is your fix for the problem, implemented in this PR? My fix is to upgrade our CI config, and regenerate the vcr cassettes, just to keep them up to date. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 27a01a5480c97990123a05e8122f8c5b7910e427)
| * Merge #7386Bundlerbot2019-11-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7386: Suppress `Warning: no department given for MutableConstant` r=colby-swandale a=koic This PR suppresses the following `Warning: no department given for MutableConstant`. ```console % cd path/to/bundler % bundle exec rubocop -v 0.75.1 % bundle exec rubocop --parallel (snip) /Users/koic/src/github.com/bundler/bundler/lib/bundler/gem_helpers.rb: Warning: no department given for MutableConstant. Run `rubocop -a --only Migration/DepartmentName` to fix. ``` Co-authored-by: Koichi ITO <koic.ito@gmail.com> (cherry picked from commit bb6edfa90155b9ba66e3a66605bb1651cf35e359)
| * Merge #7385Bundlerbot2019-11-075-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7385: Remove taint usage on Ruby 2.7+ r=hsbt a=jeremyevans ### What was the end-user problem that led to this PR? Ruby 2.7 is deprecating taint support. See https://bugs.ruby-lang.org/issues/16131 for details. ### What was your diagnosis of the problem? Bundler still uses `untaint` in a few places, which will cause deprecation warnings on Ruby 2.7. ### What is your fix for the problem, implemented in this PR? `s/\.untaint/.tap{|x| x.untaint if RUBY_VERSION < "2.7" }/g` ### Why did you choose this fix out of the possible options? It seemed simplest. Co-authored-by: Jeremy Evans <code@jeremyevans.net> (cherry picked from commit fcb0fef62096bd8d64383f5bbfa584ce77f40fd8)
| * Merge #7375Bundlerbot2019-11-073-112/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7375: Bump vendored fileutils to 1.3.0 r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we were not using a released version of fileutils. ### What was your diagnosis of the problem? My diagnosis was that we can upgrade, because 1.3.0 has been released. ### What is your fix for the problem, implemented in this PR? My fix is to upgrade. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit fe5d24b5dc6614c0edfee8407acba14aa610ac72)
| * Merge #7373Bundlerbot2019-11-072-320/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7373: Refactor new gem specs r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that I rebased #6455 and I had trouble getting the specs to pass. ### What was your diagnosis of the problem? My diagnosis was that the new gemspecs could use a refactor. ### What is your fix for the problem, implemented in this PR? My fix is to refactor these specs so that they are easier to read and modify. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 6ceec5596d5bfadad6da9990a66514da760d7eda)
| * Merge #7374Bundlerbot2019-11-073-7/+7
| | | | | | | | | | | | | | | | | | 7374: Fix typos r=hsbt a=biow0lf Fix typos Co-authored-by: Igor Zubkov <igor.zubkov@ag-force.com> (cherry picked from commit d4993be66fa2e76b3ca00ea56a51ecab5478b726)
| * Merge #7372Bundlerbot2019-11-0750-50/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7372: October manpages r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that outdated manpages. ### What is your fix for the problem, implemented in this PR? My fix is to update them. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 8058b2e3178a0ac5775a07279811755cf23339f5)
| * Merge #7362Bundlerbot2019-11-072-14/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7362: Fix spec warnings r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that our specs print some warnings to screen. ### What was your diagnosis of the problem? My diagnosis was that specs should have a clean output. ### What is your fix for the problem, implemented in this PR? My fix is to remove the warnings. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 2a4d88a7044528209321fd4441e995ec66f604b9)
| * Merge #7361Bundlerbot2019-11-073-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7361: Add caller information to some deprecation messages r=indirect a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that some deprecations mention usage of deprecated methods, but include no information about where the deprecated method is being called. ### What was your diagnosis of the problem? My diagnosis was that we should include this information with this kind of deprecation messages, to make migration easier. ### What is your fix for the problem, implemented in this PR? My fix is to add an optional argument to the `major_deprecation` method, to print the location of the deprecated caller. ### Why did you choose this fix out of the possible options? I chose this fix because it required little code changes. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit e719a58b26e2f85c885a950d90c8d4a0f7339c0f)
| * Merge #7364Bundlerbot2019-11-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7364: Follow up to `ENV["RGV"]` handling refactor r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that #7296 broke rubygems CI. ### What was your diagnosis of the problem? My diagnosis was that the handling of `ENV["RGV"]` when it contains the path of a rubygems checkout instead of a rubygems version (like it happens in the rubygems repo) was incorrect. ### What is your fix for the problem, implemented in this PR? My fix is to correct the behaviour. I was able to reproduce the CI failures in https://github.com/rubygems/rubygems/pull/2924, and verify they are be fixed by this PR by patching the vendored bundler locally. Fixes #7363. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit a59887171c53f3e88e18c6e714247af0d94447f2)
| * Merge #7360Bundlerbot2019-11-074-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7360: Consistenly use the default RSpec formatter r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that our default RSpec formatter is `--documentation`, but we're overriding it almost everywhere to use `--progress`. ### What was your diagnosis of the problem? My diagnosis was that we should probably use the default formatter, since I think we all prefer it. ### What is your fix for the problem, implemented in this PR? My fix is to do that. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 9b9e0156e2200c3e046a4964689d5c13053a1f73)
| * Merge #7296Bundlerbot2019-11-0721-131/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7296: Improve exec'ing to the proper rubygems version r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that the `with_rubygems` script is hard to work with, because it does complicated ARGV manipulation before exec'ing. ### What was your diagnosis of the problem? My diagnosis was that we don't need it. ### What is your fix for the problem, implemented in this PR? My fix is to implement the same thing in a simpler way. ### Why did you choose this fix out of the possible options? I chose this fix because it simplifies things. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 3260d5994ec33bfaf81162c61d0d20bfff023375)
| * Merge #7358Bundlerbot2019-11-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7358: More release fixes r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? I just released [2.1.0.pre.2](https://rubygems.org/gems/bundler/versions/2.1.0.pre.2). It went smoother than 2.1.0.pre.1, but I still got an issue where I unintentionally pushed a release named "v" to github releases. ### What was your diagnosis of the problem? My diagnosis was that the release task by default should use the version in the gemspec for the `release:github` tasks. ### What is your fix for the problem, implemented in this PR? My fix adds that fallback. ### Why did you choose this fix out of the possible options? I chose this fix because it does what the user expects when the task is not passed any arguments. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit ebe0b853d8f2ac93f9c69768ee6af2c18fbc9d87)
| * Merge #7359Bundlerbot2019-11-0715-97/+79
|/ | | | | | | | | | | | | | | 7359: Spec simplifications r=indirect a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that while working on #7296 and investigating why CI was failing there, I ended up adding several simplifications that are not necessarily related to that PR. In order to make that PR more digestable, I extracted those simplifications and improvements to this separate PR. ### Why did you choose this fix out of the possible options? I chose this fix because it makes our dev and test environment better and simpler with some little tweaks. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 892b18be786ab891b2602f2126d9b033f1f591b1)
* Merge #7357v2.1.0.pre.2Bundlerbot2019-09-15768-475/+544
|\ | | | | | | | | | | | | | | | | 7357: Release 2.1.0.pre.2 r=hsbt a=deivid-rodriguez This is the 2.1.0.pre.2 release branch, generated using `bin/rake release:prepare_patch`. Co-authored-by: Bundlerbot <bot@bundler.io> Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Version 2.1.0.pre.2release/2.1.0.pre.2David Rodríguez2019-09-151-1/+1
| |
| * Merge #7355Bundlerbot2019-09-152-14/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7355: Restore version bumping to `release:prepare_patch` r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that I removed too much code in #7350. ### What was your diagnosis of the problem? My diagnosis was that since I removed the auto-bumping `version.rb`, the task no longer works before it tries to cherry-pick changes for the _current_, not the _to be released_ version, so I fails because it finds no open PR for that milestone (because it's already been released). ### What is your fix for the problem, implemented in this PR? My fix is to restore the code that automatically bumps the version to the next patch level version, and commits that to the release branch. ### Why did you choose this fix out of the possible options? I chose this fix because it works for me. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 89b120310fa853ef7980fa7d78a2c61ae3acf9d6)
| * Merge #7350Bundlerbot2019-09-151-38/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7350: Simplify `release:patch` task r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that I'm using a slightly different workflow for releasing, but the current rake task does not work my way. ### What was your diagnosis of the problem? My diagnosis was that previously the release task would push the changelog directly to the release branch and master. The way I'm doing it, I open a regular PR which can be reviewed and merged through bundlerbot just like any other PR. ### What is your fix for the problem, implemented in this PR? My fix is to adapt the task to the workflow I'm using, and change it to only cherry-pick all the milestoned changes to the stable branch. I renamed it to `release:prepare_patch`. ### Why did you choose this fix out of the possible options? I chose this fix because it allows the release process itself to be reviewed, and it would allow us to protect the master and stable branches if we wanted to. It also allows to make sure that CI is passing on the stable branch with all changes cherry-picked, before actually releasing. This could avoid, for example, bugs from being introduced from conflict-resolution errors while cherry-picking changes. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 9295e5df66bfc989bbc5a1c80e24f2233a8ad292)
| * Merge #7353Bundlerbot2019-09-153-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7353: require `rubygems`, not `ubygems` in example r=hsbt a=crazymykl The latter does not work on Ruby 2.6.3. Thanks so much for the contribution! To make reviewing this PR a bit easier, please fill out answers to the following questions. ### What was the end-user problem that led to this PR? The problem was a broken example in the docs. ### What was your diagnosis of the problem? Ibid. ### What is your fix for the problem, implemented in this PR? My fix was to write what was likely intended. ### Why did you choose this fix out of the possible options? I chose this fix because the solution space is pretty small. Co-authored-by: Mike MacDonald <crazymykl@gmail.com> (cherry picked from commit f7de5df5910d5bea9de22536b7f7f646fed30f6f)
| * Merge #7343Bundlerbot2019-09-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7343: Add 2.1.0.pre.2 changelog entries r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that the changelog needs to be filled before releasing the next pre. ### What is your fix for the problem, implemented in this PR? My fix is to fill in the user facing changes that I plan to include. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> (cherry picked from commit 706d514948f6028f89d811d37477c02105584be6)
| * Merge #7344Bundlerbot2019-09-154-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7344: Backport the latest ruby core changes r=hsbt a=hsbt ### What was the end-user problem that led to this PR? The master branch of Bundler with Ruby 2.7 fails some of tests. ### What was your diagnosis of the problem? It caused by deprecation warnings of Ruby 2.7 and some environmental issues. ### What is your fix for the problem, implemented in this PR? I fixed them. * rspec examples of Bundler failed randomly on GitHub Actions of ruby/ruby. We fixed it on `spec_group.rb` * `github_action_linux` label is no longer required. The current test suite is all green status with GitHub Actions. * The keyword separation feature warns stub code under the `inline_spec.rb`. I ignore them. ### Why did you choose this fix out of the possible options? Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org> Co-authored-by: Kazuhiro NISHIYAMA <zn@mbf.nifty.com> (cherry picked from commit cb5b0b6f43ceaee283c6cde084664c69f231e3fd)