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