Sha256: a80a83e159bfbe5b80a480d916caa0d0efe4b552d99d88e444184957fb6df841
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require "bundler/gem_tasks" require "bundler/gem_helper" require 'rspec/core/rake_task' task :spec => 'spec:all' namespace :spec do task :all => [ :helper, :backend, :configuration ] RSpec::Core::RakeTask.new(:helper) do |t| t.pattern = "spec/helper/*_spec.rb" end task :backend => 'backend:all' namespace :backend do backends = %w[exec ssh] task :all => backends backends.each do |backend| RSpec::Core::RakeTask.new(backend) do |t| t.pattern = "spec/backend/#{backend}/*_spec.rb" end end end RSpec::Core::RakeTask.new(:configuration) do |t| t.pattern = "spec/configuration_spec.rb" end end desc 'Release gem and create a release on GitHub' task 'create_release' => 'release' do require 'octokit' Octokit.configure do |c| c.login = `git config --get github.user`.strip c.access_token = `git config --get github.token`.strip end t = Bundler::GemHelper.new current_version = "v#{t.gemspec.version.to_s}" previous_version = "" `git tag`.split(/\n/).each do |tag| break if tag == current_version previous_version = tag end log = `git log #{previous_version}..#{current_version} --grep=Merge` repo = `git remote -v | grep origin`.match(/([\w-]+\/[\w-]+)\.git/)[1] description = [] log.split(/commit/).each do |lines| lines.match(/Merge pull request \#(\d+)/) do |m| url = "https://github.com/#{repo}/pull/#{m[1]}" title = Octokit.pull_request(repo, m[1]).title description << "* [#{title}](#{url})" end end Octokit.create_release( repo, current_version, {:body => description.join("\n")} ) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
specinfra-0.5.3 | Rakefile |