diff options
author | Bundlerbot <bot@bundler.io> | 2019-09-03 09:30:05 +0000 |
---|---|---|
committer | Bundlerbot <bot@bundler.io> | 2019-09-03 09:30:05 +0000 |
commit | 32dcb15bc26909f895adaec64d22351a90e41390 (patch) | |
tree | 0f66c5e8ba2a3645b01b19e04545cb2c43fcfe83 | |
parent | e1991d866f5b2c953db02b23d24835c97b79f583 (diff) | |
parent | 397896208536733228383e747c9fa2546305f6a1 (diff) | |
download | bundler-32dcb15bc26909f895adaec64d22351a90e41390.tar.gz |
Merge #7333
7333: Release task improvements r=deivid-rodriguez a=deivid-rodriguez
### What was the end-user problem that led to this PR?
The problem was several issues I had when releasing bundler:
* The prerequisites can fail, but the gem is still pushed to rubygems.
* Some error messages could be better.
* The github release is a postrequisite not a prerequisite for the release task.
### What was your diagnosis of the problem?
My diagnosis was that we need to make every prerequisite a prerequisite to the `rubygems:push` task to be really sure the gem is not pushed until every thing else is satisfied.
### What is your fix for the problem, implemented in this PR?
My fix implements that idea, plus other few improvements to the release task.
Co-authored-by: David RodrÃguez <deivid.rodriguez@riseup.net>
-rw-r--r-- | Rakefile | 1 | ||||
-rw-r--r-- | task/release.rake | 7 |
2 files changed, 3 insertions, 5 deletions
@@ -187,6 +187,7 @@ namespace :man do Spec::Rubygems.gem_require("ronn") rescue Gem::LoadError => e task(:build) { abort "We couln't activate ronn (#{e.requirement}). Try `gem install ronn:'#{e.requirement}'` to be able to build the help pages" } + task(:check) { abort "We couln't activate ronn (#{e.requirement}). Try `gem install ronn:'#{e.requirement}'` to be able to build the help pages" } else directory "man" diff --git a/task/release.rake b/task/release.rake index 73d3d5045c..f5573eac5e 100644 --- a/task/release.rake +++ b/task/release.rake @@ -4,7 +4,7 @@ require "bundler/gem_tasks" task :build => ["build_metadata"] do Rake::Task["build_metadata:clean"].tap(&:reenable).real_invoke end -task :release => ["release:verify_docs", "release:verify_files", "release:verify_github", "build_metadata"] +task "release:rubygem_push" => ["release:verify_docs", "release:verify_files", "release:verify_github", "build_metadata", "release:github"] namespace :release do task :verify_docs => :"man:check" @@ -129,6 +129,7 @@ namespace :release do relevant.join("\n").strip end + desc "Push the release to Github releases" task :github, :version do |_t, args| version = Gem::Version.new(args.version) tag = "v#{version}" @@ -142,10 +143,6 @@ namespace :release do } end - task :release do |args| - Rake::Task["release:github"].invoke(args.version) - end - desc "Make a patch release with the PRs from master in the patch milestone" task :patch, :version do |_t, args| version = args.version |