summaryrefslogtreecommitdiff
path: root/Rakefile
Commit message (Collapse)AuthorAgeFilesLines
* Merge #7342Bundlerbot2019-09-091-19/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Start using automatiek 0.3.0automatiek_0.3David Rodríguez2019-09-041-19/+9
| |
* | Give a better error on a release failure caseDavid Rodríguez2019-08-281-0/+1
|/ | | | | If you don't have `ronn` installed, the `man:check` task will fail but it won't let you know the exact reason.
* Don't (yet) enable parallelization in CIdont_enable_parallelization_yet_on_travisDavid Rodríguez2019-08-211-1/+3
| | | | Since it still has issues.
* Parallelize test suiteDavid Rodríguez2019-08-181-4/+6
|
* Merge #7274Bundlerbot2019-08-181-1/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7274: Fix more leaks to default copy of bundler r=hsbt a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that in some places, it was still possible to end up requiring files in a different copy of bundler (the default copy). I noticed this when I removed a rubygems monkeypatch from the test suite that was preventing the default copy of bundler from being activated when requiring files. This thing: https://github.com/bundler/bundler/blob/e1c518363641208429f397170354054b3d28effd/spec/support/hax.rb#L15-L20 ### What was your diagnosis of the problem? My diagnosis was that I should use relative requires wherever they were missing. ### What is your fix for the problem, implemented in this PR? My fix is to remove the rubygems hack, migrate the rest of the internal requires to be relative, and also introduce some hacks on our specs to make sure we never load the incorrect copy of bundler. I think this PR should fix the issues in https://github.com/rubygems/rubygems/pull/2863. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Comment the changes being applied to vendored libDavid Rodríguez2019-08-171-1/+3
| |
* | Use the latest rubygems 3.0.6 in CIbump_rubygemsDavid Rodríguez2019-08-171-2/+2
|/
* Ignore whitespace when checking docsfix_man_checkDavid Rodríguez2019-08-121-2/+2
| | | | | | | | Different versions of `groff` seem to generate slight differences in whitespace. It is too much burden for contributors in my opinion to make them install the exact groff version CI is running, and whitespace amount in man pages doesn't seem to change the rendered output anyways, so it should be good I think.
* Pin groff version in CIDavid Rodríguez2019-08-121-1/+1
| | | | | To make it more predictable and easier to find out about discrepancies in the output.
* Explicitly pass date to ronn commandDavid Rodríguez2019-08-111-1/+1
| | | | To try fix `man:check` failing sometimes.
* Make sure we run the correct ronn with a binstubcommit_docs_to_source_controlDavid Rodríguez2019-08-101-1/+1
|
* Commit man pages to source controlDavid Rodríguez2019-08-101-0/+19
| | | | | | | | | | | | | | This has the benefit that: * Allows the installation of bundler as a default gem from rubygems to include man pages. * Removes the need to build man pages during our tests. * Makes working with the manifest easier, because we only have source controlled files, and not a mix of source control and generated files. To make sure they never fall out of sync, we replace the previous `man:build` CI task with a `man:check` task that makes sure the generated man pages are up to date.
* Remove unnecessary taskDavid Rodríguez2019-08-101-2/+0
| | | | The build task does not generate any files at `lib/bundler/generated`.
* Add a few comments on vendored dependenciesDavid Rodríguez2019-07-251-0/+14
|
* Bump automatiek to 0.2.0David Rodríguez2019-07-241-10/+0
|
* Bump net-http-persistent to 3.0.1David Rodríguez2019-07-241-0/+11
| | | | | | | | | | | * Adds an extra artifice task to vendorize new `connection_pool` dependency. * Cherry-pick's needed Windows fix not yet merged into master branch of `net-http-persistent`. * Update bundler usages to be compatible with the new version, and fix unit specs.
* Remove development dependencies from gemspecremove_add_development_dependency_from_gemspecDavid Rodríguez2019-07-081-36/+8
| | | | And refactor development setup.
* Extract a common error messageDavid Rodríguez2019-07-081-4/+6
|
* Cleanup constant only used onceDavid Rodríguez2019-07-051-7/+5
|
* Merge #7223Bundlerbot2019-06-271-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7223: RUBY_ENGINE should always be defined after 1.8.7 r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we have code checking that `RUBY_ENGINE` everytime it's used and I think it's unnecessary. ### What was your diagnosis of the problem? My diagnosis was that every ruby implementation newer than 1.8 should define this. ### What is your fix for the problem, implemented in this PR? My fix is to remove the unnecessary code. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * RUBY_ENGINE should always be defined after 1.8.7ruby_engine_always_definedDavid Rodríguez2019-06-261-1/+1
| |
* | Bump rubygems in CI to 3.0.4 and 2.7.10David Rodríguez2019-06-261-2/+2
|/
* Remove incorrect `man:clobber` taskfix_man_clobberDavid Rodríguez2019-06-041-5/+1
| | | | | And move its description on top of the correct task, `man:build`, so that it appears under `bin/rake -T`.
* Remove sudo-created files after the test themselvesDavid Rodríguez2019-05-271-8/+3
| | | | | Instead of creating a separate rake task. This should allow the tests to properly clean after themselves also when not run through rake.
* Remove coverage tracking for the time beingDavid Rodríguez2019-04-241-4/+0
| | | | | | | | The current numbers are misleading and coverage tracking doesn't work in most of the places since the current test suite is mostly based on spawning subprocesses, and coverage doesn't get properly tracked there. Let's revisit this in the future.
* Mock `man:build` task on jrubyallow_local_install_on_jrubyDavid Rodríguez2019-04-121-47/+51
| | | | So that `rake install:local` at least works.
* Remove `man:require` taskDavid Rodríguez2019-04-121-3/+0
| | | | | The ronn gem is needed for building man pages, that's already guarded. The `release` task is irrelevant.
* Merge #7070Bundlerbot2019-03-291-31/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7070: Improve cross repo integration r=deivid-rodriguez a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that we had on `rubygems`, we're not testing bundler against the rubygems checkout of each PR, but against master. That is confusing because developers assume that the PRs tests will run against the PRs code, but this is currently not true. ### What was your diagnosis of the problem? My diagnosis was that on rubygems we are [specifying `RGV=master`](https://github.com/rubygems/rubygems/blob/fa6e547330e97b417ed11f262d68d03c57abeeda/.travis.yml#L12) in our TravisCI matrix. And what `bundler` does with that is to clone rubygems master under `tmp/rubygems` and use that. Thus your rubygems PR is not really tested. ### What is your fix for the problem, implemented in this PR? My fix is to rework the setup to accept an `RGV` environment variable when it contains. In that case, no git operations will be performed, and that path will be used directly and assumed to contain a rubygems checkout. I also refactored a few things about the setup while at it. ### Why did you choose this fix out of the possible options? There were existing tasks to test bundler against a rubygems checkout, but they were unused and they expected a `RG` environment variable instead. I decided to reuse these tasks, but make them pick up the `RGV` as long as it contains a valid path. I chose this fix because it works and it doesn't make the existing setup too different. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * Rename task to not be redundantimprove_cross_repo_integrationDavid Rodríguez2019-03-281-2/+2
| |
| * Make "co" tasks family use RGV env variable tooDavid Rodríguez2019-03-281-5/+4
| |
| * Add sudo and realworld task to the "co" namespaceDavid Rodríguez2019-03-281-0/+5
| |
| * Use progress in the "co" task tooDavid Rodríguez2019-03-281-1/+1
| | | | | | | | Since it's meant for CI.
| * Remove clone rubygems taskDavid Rodríguez2019-03-281-22/+2
| | | | | | | | Delegate everything to `bin/with_rubygems` instead.
| * Remove option already set by defaultDavid Rodríguez2019-03-281-1/+1
| |
| * Remove NULL_DEVICEDavid Rodríguez2019-03-281-2/+1
| |
* | Merge #7074Bundlerbot2019-03-291-5/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7074: Remove unnecessary test stuff r=colby-swandale a=deivid-rodriguez ### What was the end-user problem that led to this PR? The problem was that our test setup could be simpler. ### What was your diagnosis of the problem? My diagnosis was that some lines installing test gem dependencies could be removed from the Rakefile, because the tests already detect this situation and auto-install test gems appropriately. ### What is your fix for the problem, implemented in this PR? My fix is to remove the lines. However, removing the lines led to a single test failure that can be explained becase `FileUtils` ends up being required too late, thus skipping one call to `Gem.clear_paths` done in the tests setup so that stuff memoized by `rubygems` is cleared and tests can assume is not loaded yet. The situation is very intricate but I tried to explain it in the commit message. ### Why did you choose this fix out of the possible options? I chose this fix because it fixes the test failure, but I also plan to propose to eliminate the `autoload` calls in rubygems that also contributed to this issue. Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
| * | Remove unnecessary stuffsimplify_gems_used_by_tests_installationDavid Rodríguez2019-03-281-5/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests automatically download and install the test gems they need if not installed, so this should be unnecessary. However, removing it create a single spec failure only reproducible on a fresh clone (where the path where the test gems are installed, `tmp/gems`, has not yet been populated. The problem was that the code branch that installs the gems uses the `FileUtils` constant. Accessing that constant makes [this autoload] trigger the custom rubygems `require` behavior which will end up setting and memoizing `gem_home` to the value it has at that point (when calling `to_spec` on the selected default gem). But at that point, `Gem.clear_paths` call has already happened, that means `gem_home` won't be changed during the duration of the test because it's memoized. This situation makes a specific test that updates `ENV["HOME"]` and expects he path to the configuration file rubygems uses to be updated fail. This could be fixed by removing the `FileUtils` autoload, or stop memoizing `Gem.home`, but the simplest fix seemed to require `fileutils` early, so that `Gem.home` is not memoized again after calling `Gem.clear_paths`. [this autoload]: https://github.com/rubygems/rubygems/blob/511a0f5105ca95b8e389bf477b6c7cf3e90be7d1/lib/rubygems/source.rb#L3
* | Merge #7035Bundlerbot2019-03-281-6/+0
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7035: Unify the certificates for rubygems.org to rubygems store. r=deivid-rodriguez a=hsbt ### What was the end-user problem that led to this PR? The problem was the users have duplicated certificates in their boxes. ### What was your diagnosis of the problem? I wonder why bundler has a certificates copy from rubygems. It raised up in the tracker of ruby core. https://bugs.ruby-lang.org/issues/15384 ### What is your fix for the problem, implemented in this PR? I removed the duplicated certificates from bundler, and fallback to rubygems's one. ### Why did you choose this fix out of the possible options? Co-authored-by: SHIBATA Hiroshi <hsbt@ruby-lang.org>
| * Unify the certificates for rubygems.org to rubygems store.SHIBATA Hiroshi2019-03-141-6/+0
| | | | | | | | | | * Removed CertificateManager and related rake tasks. * Removed the certificates from bundler internal.
* | Try removing hacksDavid Rodríguez2019-03-261-5/+0
| |
* | Bump to MRI 2.5.4David Rodríguez2019-03-261-2/+2
| | | | | | | | MRI 2.5.4 now regressed and suffers from the same issue as 2.6.2 :S
* | Bump to MRI 2.6.2David Rodríguez2019-03-261-4/+2
| |
* | Describe automatiek tasksDavid Rodríguez2019-03-251-0/+11
| |
* | Improve automatiek activationDavid Rodríguez2019-03-251-8/+16
| | | | | | | | | | Make it consistent with how we do it for `ronn`, and give better messages for installing `automatiek` if missing.
* | Little refactorDavid Rodríguez2019-03-251-4/+4
| |
* | revert the RSpec format in CI back to dotsColby Swandale2019-03-211-1/+1
| |
* | Abort when building man pages without ronnDavid Rodríguez2019-03-201-1/+1
| |
* | Improve `ronn` activationDavid Rodríguez2019-03-201-8/+14
| | | | | | | | | | | | Previously having another gem with a `ronn` executable would silently work and fail later with a cryptic error. Now we activate the proper version, and give a proper error if it fails.
* | Simplify globbingDavid Rodríguez2019-03-201-1/+1
| | | | | | | | No .rb files in there.