Module: Slather::CoverageService::Coveralls

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

Instance Method Summary collapse

Instance Method Details

#buildkite_build_urlObject



118
119
120
# File 'lib/slather/coverage_service/coveralls.rb', line 118

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

#buildkite_git_infoObject



106
107
108
109
110
111
112
113
114
115
116
# File 'lib/slather/coverage_service/coveralls.rb', line 106

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



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
# File 'lib/slather/coverage_service/coveralls.rb', line 215

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