summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Disallow failuresDavid Rodríguez2020-01-071-1/+0
| | | |
| * | | Skip the rest of the failures on WindowsDavid Rodríguez2020-01-0728-33/+372
| | | |
| * | | Add missing assertion to one specDavid Rodríguez2020-01-071-0/+2
| | | |
| * | | Exclude another permissions spec from Windows buildDavid Rodríguez2020-01-071-1/+1
| | | |
| * | | Add fiddle to default gem exemptionsDavid Rodríguez2020-01-071-1/+3
| | | | | | | | | | | | | | | | | | | | Since it doesn't seem to work, I guess Windows ruby loads it at some point?
| * | | Remove redundant installs and raise if they failDavid Rodríguez2020-01-071-4/+2
| | | |
| * | | Make sure to pass URI's to `:git`David Rodríguez2020-01-071-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing paths should work in most cases, but on Windows the driver letter is interpreted as the scheme and causes some case mismatches because ``` irb> URI.parse("E:").to_s => "e:" ``` We fix this by passing file URI's instead.
| * | | Use OS-independent path separatorDavid Rodríguez2020-01-072-5/+5
| | | |
| * | | Try fix some specsDavid Rodríguez2020-01-071-1/+1
|/ / / | | | | | | | | | Github actions has lowercase drive letters.
* | | Merge #7550Bundlerbot2020-01-075-71/+46
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7550: Enable parallel specs again r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that specs are slow. ### What is your fix for the problem, implemented in this PR? My fix is to run them in parallel. We enabled this a while ago, but run into some issues. I want to try again. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | Remove unused rake taskenable_parallel_specs_againDavid Rodríguez2020-01-071-4/+0
| | | |
| * | | Use `bin/rake` for sudo specs tooDavid Rodríguez2020-01-071-1/+1
| | | |
| * | | Run in parallel on Travis tooDavid Rodríguez2020-01-071-2/+2
| | | |
| * | | Run `rspec` directlyDavid Rodríguez2020-01-071-1/+1
| | | | | | | | | | | | | | | | No need for an extra subprocess.
| * | | Kill `spec:travis`David Rodríguez2020-01-072-43/+6
| | | | | | | | | | | | | | | | It overcomplicates things.
| * | | Use the same value to activate all test env variablesDavid Rodríguez2020-01-071-2/+2
| | | |
| * | | Split test gem installation to a separate taskDavid Rodríguez2020-01-073-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We run into a race condition when testing in parallel when all processors install test gems to their test folder (due to shared gem cache). So I figure we can instead run this setup sequentially beforehand.
| * | | Remove unneeded LOAD_PATH modificationDavid Rodríguez2020-01-071-1/+0
| | | |
| * | | Simplify `install_gems` methodDavid Rodríguez2020-01-071-4/+1
| | | |
| * | | We don't need a manifestDavid Rodríguez2020-01-071-10/+1
| | | | | | | | | | | | | | | | This is precisely what the `--conservative` flag to `gem install` does.
| * | | Run specs in parallel to speed things upDavid Rodríguez2020-01-071-1/+1
|/ / /
* | | Merge #7548Bundlerbot2020-01-053-20/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7548: Fix escaping of some subprocesses during specs r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that some specs are failing on Windows due to commands like the following failing: ``` $ C:/hostedtoolcache/windows/Ruby/2.6.3/x64/bin/ruby.exe -Id:/a/bundler/bundler/lib -w -e \ <<EOS begin $:.unshift File.expand_path("bundle") require "bundler/setup" require "actionpack" puts ACTIONPACK require "spec" rescue LoadError => e $stderr.puts "ZOMG LOAD ERROR"# if e.message.include?("-- spec") end EOS -e:2: syntax error, unexpected backslash \$:.unshift File.expand_path("... ^ -e:10: syntax error, unexpected backslash \$stderr.puts "ZOMG LOAD ERROR... ^ # $? => 1 ``` ### What was your diagnosis of the problem? My diagnosis was that if the code being run via `ruby -e` in a subprocess include "$", it was not being properly escaped under Windows. ### What is your fix for the problem, implemented in this PR? My fix is to use `shellsplit` and `shellescape`. ### Why did you choose this fix out of the possible options? I chose this fix because after a bit of testing it seemed to do the trick. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | Use shellescape instead of manually escapingspecs/fix_subprocess_escapingDavid Rodríguez2020-01-051-2/+1
| | | |
| * | | Avoid spawning a new shell with Open3.popen3David Rodríguez2020-01-051-2/+3
| | | | | | | | | | | | | | | | | | | | So that we don't need to manually escape `$`, that seems to give trouble on Windows.
| * | | Prefer `warn` to `$stderr.puts`David Rodríguez2020-01-052-5/+5
| | | |
| * | | Remove stuff making errors harder to figure outDavid Rodríguez2020-01-051-12/+1
| | | |
| * | | Uncomment working codeDavid Rodríguez2020-01-051-1/+1
|/ / /
* | | Merge #7546Bundlerbot2020-01-0513-39/+43
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7546: Don't rename folders while being inside r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that some specs were failing under Windows, with error messages like the following: ``` Permission denied @ rb_file_s_rename - (D:/a/1/s/tmp/1/bundled_app, D:/a/1/s/tmp/1/bundled_app2) Failure/Error: FileUtils.mv(bundled_app, "#{bundled_app}2") Errno::EACCES: Permission denied @ rb_file_s_rename - (D:/a/1/s/tmp/1/bundled_app, D:/a/1/s/tmp/1/bundled_app2) Commands: $ C:/hostedtoolcache/windows/Ruby/2.6.3/x64/bin/ruby.exe -ID:/a/1/s/lib\;D:/a/1/s/spec -rsupport/hax \ -rsupport/artifice/fail D:/a/1/s/exe/bundle install --path D:/a/1/s/tmp/1/bundled_app/bundle \ --standalone Fetching d:/a/1/s/tmp/1/libs/devise-1.0 Fetching source index from file:///D:/a/1/s/tmp/1/gems/remote1/ Resolving dependencies... Fetching rake 12.3.2 Installing rake 12.3.2 Fetching activesupport 2.3.2 Installing activesupport 2.3.2 Fetching actionmailer 2.3.2 Installing actionmailer 2.3.2 Fetching actionpack 2.3.2 Installing actionpack 2.3.2 Fetching activerecord 2.3.2 Installing activerecord 2.3.2 Fetching activeresource 2.3.2 Installing activeresource 2.3.2 Using bundler 2.2.0.dev Using devise 1.0 from d:/a/1/s/tmp/1/libs/devise-1.0 (at master@1cdf130) Fetching rails 2.3.2 Installing rails 2.3.2 Bundle complete! 2 Gemfile dependencies, 9 gems now installed. Bundled gems are installed into `./bundle` [DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path 'D:/a/1/s/tmp/1/bundled_app/bundle'`, and stop using this flag # $? => 0 Shared Example Group: "common functionality" called from ./spec/install/gems/standalone_spec.rb:136 Shared Example Group: "bundle install --standalone" called from ./spec/install/gems/standalone_spec.rb:328 ./spec/install/gems/standalone_spec.rb:32:in `block (3 levels) in <top (required)>' ./spec/spec_helper.rb:111:in `block (3 levels) in <top (required)>' ./spec/spec_helper.rb:111:in `block (2 levels) in <top (required)>' ./spec/spec_helper.rb:78:in `block (2 levels) in <top (required)>' ./spec/support/rubygems_ext.rb:87:in `load' ./spec/support/rubygems_ext.rb:87:in `gem_load_and_activate' ./spec/support/rubygems_ext.rb:45:in `gem_load' ``` ### What was your diagnosis of the problem? My diagnosis was that Windows doesn't like renaming folders while being inside them. ### What is your fix for the problem, implemented in this PR? My fix is to move away from the folder to the root of the repo before renaming it. ### Why did you choose this fix out of the possible options? I chose this fix because it fixes the failures under Windows while still achieving the same thing. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | Don't rename folders while being insideDavid Rodríguez2020-01-053-0/+6
| | | | | | | | | | | | | | | | Since Windows doesn't like that.
| * | | Disallow folder changing helpers without a blockDavid Rodríguez2020-01-052-7/+9
| | | | | | | | | | | | | | | | Since their naming leads to code that reads a bit weird without a block.
| * | | Extract `in_repo_root`David Rodríguez2020-01-054-15/+19
| | | |
| * | | Move path helpers to a better placeDavid Rodríguez2020-01-052-8/+8
| | | |
| * | | Remove unnecessary setupDavid Rodríguez2020-01-051-4/+0
| | | |
| * | | Remove unnecessary `in_app_root_custom` helperDavid Rodríguez2020-01-053-6/+2
| | | |
| * | | Reuse `in_app_root2` where possibleDavid Rodríguez2020-01-053-5/+5
|/ / /
* | | Merge #7529Bundlerbot2020-01-058-43/+48
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7529: Remove optional require net-http-pipeline from vendored net-http-persistent. r=deivid-rodriguez a=marciotoshio ### What was the end-user problem that led to this PR? See issue https://github.com/bundler/bundler/issues/7521. ### What was your diagnosis of the problem? My diagnosis was If you have net-http-pipeline gem installed bundler loads it and you can't vendor it. ### What is your fix for the problem, implemented in this PR? My fix is remove the optional require of net-http-pipeline. ### Why did you choose this fix out of the possible options? I chose this fix because was a recommendation in the issue by @deivid-rodriguez Fixes #7521. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> Co-authored-by: Marcio Toshio <marcio@tosh.io>
| * | | Remove require net-http-pipeline from vendored net-http-persistent.Marcio Toshio2020-01-032-22/+21
| | | |
| * | | Use standard require paths for names with dashes in specsDavid Rodríguez2020-01-037-21/+27
| | |/ | |/|
* | | Merge #7539Bundlerbot2020-01-0514-165/+113
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7539: Migrate Windows CI to Github Actions r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that current Windows CI is very slow. ### What is your fix for the problem, implemented in this PR? My fix is to try migrate it to Github Actions to see if it gets better. It didn't really get much better, but I think Github Actions is better than Azure Pipelines. Regarding the implementation, Github Actions environment doesn't seem to include an `rb-readline` version, and specs using `readline` just hang. My "solution" is to skip those specs for the time being. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | Migrate Windows CI to Github actionsDavid Rodríguez2020-01-045-95/+34
| | | |
| * | | Skip readline specs on WindowsDavid Rodríguez2020-01-042-1/+2
| | | |
| * | | Tag specs using `readline`David Rodríguez2020-01-046-21/+21
| | | |
| * | | Prefer `bundle!` to `bundle` in more placesDavid Rodríguez2020-01-042-23/+23
| | | |
| * | | Don't use readline on GemHelper specsDavid Rodríguez2020-01-041-1/+1
| | | |
| * | | Simplify `bundle` helperDavid Rodríguez2020-01-041-2/+2
| | | |
| * | | Avoid swallowing errors when possibleDavid Rodríguez2020-01-041-18/+18
| | | |
| * | | Make some `bundle gem` specs more explicitDavid Rodríguez2020-01-041-4/+12
|/ / /
* | | Merge #7537Bundlerbot2020-01-042-1/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7537: Reset `Gemfile` to the empty string after bundler/inline r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that if `BUNDLE_GEMFILE` is not set before requiring `bundler/inline`, we're removing it back again. That means that when requiring gems after that, `bundler` will go through the "Gemfile resolution" logic again and fail if a Gemfile is not found in the filesystem. ### What was your diagnosis of the problem? My diagnosis was that the file resolution logic should be skipped after requiring `bundler/inline`, since we want to use the "inline bundle". ### What is your fix for the problem, implemented in this PR? My fix is to instead reset `BUNDLE_GEMFILE` to the empty string if it had no previous value, since that skips searching the filesystem for a `Gemfile`. ### Why did you choose this fix out of the possible options? I chose this fix because it seems to fix the issue. Fixes #7536. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | | Reset `Gemfile` to the empty string after bundler/inlinefix/bundler_inlineDavid Rodríguez2020-01-022-1/+18
| |/ / | | | | | | | | | | | | To avoid Gemfile resolution afterwards, and use the "inline environment" instead.
* | | Merge #7544Bundlerbot2020-01-043-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7544: Ignore tests needing file permissions on Windows r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that some specs fail under Windows because permissions are not supported the way they are supported on Unix. ### What is your fix for the problem, implemented in this PR? My fix is to exclude this tests on Windows. ### Why did you choose this fix out of the possible options? I chose this fix because it was proposed at https://github.com/bundler/bundler/issues/6897 and makes sense to me. Closes #6897. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>