Class: CreateGithubRelease::Tasks::PushRelease

Inherits:
CreateGithubRelease::TaskBase show all
Defined in:
lib/create_github_release/tasks/push_release.rb

Overview

Push the release branch and tag to Github

Instance Attribute Summary

Attributes inherited from CreateGithubRelease::TaskBase

#project

Instance Method Summary collapse

Methods inherited from CreateGithubRelease::TaskBase

#backtick_debug?, #error, #initialize, #print, #puts

Methods included from BacktickDebug

#`

Constructor Details

This class inherits a constructor from CreateGithubRelease::TaskBase

Instance Method Details

#run

This method returns an undefined value.

Push the release branch and tag to Github

Examples:

require 'create_github_release'

options = CreateGithubRelease::CommandLine::Options.new { |o| o.release_type = 'major' }
project = CreateGithubRelease::Project.new(options)
task = CreateGithubRelease::Tasks::PushRelease.new(project)
begin
  task.run
  puts 'Task completed successfully'
rescue SystemExit
  puts 'Task failed'
end

Raises:

  • (SystemExit)

    if the task fails



32
33
34
35
36
37
38
39
40
# File 'lib/create_github_release/tasks/push_release.rb', line 32

def run
  print "Pushing branch '#{project.release_branch}' to remote..."
  `git push --tags --set-upstream '#{project.remote}' '#{project.release_branch}' > /dev/null 2>&1`
  if $CHILD_STATUS.success?
    puts 'OK'
  else
    error 'Could not push release commit'
  end
end