summaryrefslogtreecommitdiff
path: root/Rakefile
Commit message (Collapse)AuthorAgeFilesLines
* Restore sudo configuration after sudo specsfix_sudo_specs_envDavid Rodríguez2020-03-041-4/+7
|
* Move sudo specs setup to `rake spec:sudo`David Rodríguez2020-03-041-1/+14
|
* Remove unused rake taskenable_parallel_specs_againDavid Rodríguez2020-01-071-4/+0
|
* Kill `spec:travis`David Rodríguez2020-01-071-42/+0
| | | | 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-071-0/+9
| | | | | | | 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.
* Fix test issue when using `rubygems-bundler` gemsmaller_os_depsDavid Rodríguez2019-12-191-1/+1
|
* Do extra root setup only when neededDavid Rodríguez2019-12-181-14/+0
| | | | | Regular builds shouldn't need any extra configuration deviating from a standard ubuntu setup.
* Remove unnecessary setupDavid Rodríguez2019-12-181-4/+0
| | | | | | That version of groff is already installed. As a result, the previous `apt-get update` is not needed either.
* Add compatibility methods for `rubygems-bundler` gemfix_rubygems_bundler_integrationDavid Rodríguez2019-12-171-0/+8
| | | | | Hopefully `rvm` won't install this gem by default, but for now I'm adding the following two methods for compatibility with it.
* Avoid some redefinition warningsDavid Rodríguez2019-12-171-1/+0
| | | | | | | | | | | Sometimes `rake` will load the default version of `bundler` and then the `Rakefile` will change the LOAD_PATH and require the same code again using the version of `bundler` in `lib`. The only `bundler` code that gets used by the `Rakefile` is `bundler/gem_tasks`. This is used, for example, for releasing. I think it's fine to use an installed version of `bundler` for this in any case.,
* Vendorize "uri" libraryDavid Rodríguez2019-12-081-0/+8
| | | | | We vendorize it as a dependency of `net-http-persistent`, so usages inside `net-http-persistent` get automatically replaced by `automatiek`.
* Document man:{build,check} tasks when ronn not installedDavid Rodríguez2019-10-201-0/+3
|
* Bump vendored fileutils to 1.3.0next_fileutilsDavid Rodríguez2019-10-041-3/+0
|
* Consistenly use the default RSpec formatternormalize_rspec_formatterDavid Rodríguez2019-09-231-1/+1
|
* Remove no longer needed rubygems updateremove_with_rubygemsDavid Rodríguez2019-09-191-3/+0
| | | | We never use system rubygems anymore. Always the local clone.
* Replace `with_rubygems` scriptDavid Rodríguez2019-09-191-58/+5
| | | | | | | | | | | | | | | | | | | | | Instead, use a better rubygems version manager that makes sure that `ENV["RGV"]` usage is always applied, and its usage is centralized at a single place. This simplifies the rake task organization and makes it much simpler to run locally exactly what's run in CI. For example, since it doesn't rely on the `RGV` being deleted for subsequent subprocesses, it also running `bin/rake spec:travis` task locally which previously would lead to ``` rake aborted! RubyGems version is required on Travis! ``` It also reduces duplication making it so that we only need to change the `.travis.yml` file when updating tested rubies, and not the `Rakefile` as well.
* Use '--progress' RSpec format by defaultDavid Rodríguez2019-09-151-1/+1
|
* 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
| |