class Perkins::BuildReport

Public Instance Methods

as_json(options = {}) click to toggle source
# File lib/perkins/build_report.rb, line 30
def as_json(options = {})
  data = {}

  unless fields = options[:only]
    fields = [:id, :sha, :commit, :branch, :build_time,
              :status, :duration, :build_time, :response, :build_status]
  end

  fields.each { |k| data[k] = send(k) }

  data
end
build_status_report(sha) click to toggle source

Status report to GITHUB repo

# File lib/perkins/build_report.rb, line 44
def build_status_report(sha)
  $github_client.create_status(
    self.repo.name, sha,
    github_state, 
    { context: "Perkins CI", 
      description: github_state_description , 
      target_url: github_state_url 
    }
  )
end
enqueue() click to toggle source
# File lib/perkins/build_report.rb, line 9
def enqueue
  BuildWorker.perform_async(self.id, sha, branch )
end
github_state() click to toggle source
# File lib/perkins/build_report.rb, line 55
def github_state
  self.status ? "success" : "failure"
end
github_state_description() click to toggle source
# File lib/perkins/build_report.rb, line 59
def github_state_description
  d = "- The Perkins CI build"
  d = self.status ? "passed" : "fail"
end
github_state_url() click to toggle source
# File lib/perkins/build_report.rb, line 64
def github_state_url
  "#{Perkins::Application.instance.sse_endpoint}/repos/#{repo.name}/builds/#{self.id}"
end
retrieve_commit_info() click to toggle source

def formatted_commit self.repo.load_git

self.commit ||= $github_client.commits(repo.name, sha)
 Perkins::Commit.new(self.commit)

end

# File lib/perkins/build_report.rb, line 19
def retrieve_commit_info
  hsh = $github_client.commits(repo.name, sha).first.to_attrs
  self.commit = hsh
  self.save
end
send_github_status(sha) click to toggle source
# File lib/perkins/build_report.rb, line 25
def send_github_status(sha)
  self.repo.git
  self.build_status_report(sha)
end
start!() click to toggle source
# File lib/perkins/build_report.rb, line 68
def start!
  update_attribute(:build_status, "started")
end
stop!() click to toggle source
# File lib/perkins/build_report.rb, line 72
def stop!
  update_attribute(:build_status, "stopped")
end