Module: Slather::CoverageService::Coveralls

Defined in:
lib/slather/coverage_service/coveralls.rb

Instance Method Summary collapse

Instance Method Details

#buildkite_build_urlObject



138
139
140
# File 'lib/slather/coverage_service/coveralls.rb', line 138

def buildkite_build_url
  "https://buildkite.com/" + ENV['BUILDKITE_PROJECT_SLUG'] + "/builds/" + ENV['BUILDKITE_BUILD_NUMBER'] + "#"
end

#buildkite_git_infoObject



126
127
128
129
130
131
132
133
134
135
136
# File 'lib/slather/coverage_service/coveralls.rb', line 126

def buildkite_git_info
  {
    :head => {
      :id => ENV['BUILDKITE_COMMIT'],
      :author_name => (`git log --format=%an -n 1 HEAD`.chomp || ""),
      :author_email => (`git log --format=%ae -n 1 HEAD`.chomp || ""),
      :message => (`git log --format=%s -n 1 HEAD`.chomp || "")
    },
    :branch => ENV['BUILDKITE_BRANCH']
  }
end

#postObject



272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
# File 'lib/slather/coverage_service/coveralls.rb', line 272

def post
  f = File.open('coveralls_json_file', 'w+')
  begin
    f.write(coveralls_coverage_data)
    f.close

    curl_result = `curl -s --form json_file=@#{f.path} #{coveralls_api_jobs_path}`

    if curl_result.is_a? String 
      curl_result_json = JSON.parse(curl_result)          

      if curl_result_json["error"]
        error_message = curl_result_json["message"]
        raise StandardError, "Error while uploading coverage data to Coveralls. CI Service: #{ci_service} Message: #{error_message}"
      end
    end

  rescue StandardError => e
    FileUtils.rm(f)
    raise e
  end
  FileUtils.rm(f)
end