summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBundlerbot <bot@bundler.io>2019-09-03 09:30:05 +0000
committerBundlerbot <bot@bundler.io>2019-09-03 09:30:05 +0000
commit32dcb15bc26909f895adaec64d22351a90e41390 (patch)
tree0f66c5e8ba2a3645b01b19e04545cb2c43fcfe83
parente1991d866f5b2c953db02b23d24835c97b79f583 (diff)
parent397896208536733228383e747c9fa2546305f6a1 (diff)
downloadbundler-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--Rakefile1
-rw-r--r--task/release.rake7
2 files changed, 3 insertions, 5 deletions
diff --git a/Rakefile b/Rakefile
index 36d313d177..ef673ba38a 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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