Skip to content

Latest commit

 

History

History
118 lines (79 loc) · 2.8 KB

DEVELOPERS.md

File metadata and controls

118 lines (79 loc) · 2.8 KB

Viewing Documentation Locally

make all
for x in man/*.1; do man "$x"; done

Sample Coverage Files

JavaScript

PHP

Python

Ruby

Cobertura

JaCoCo

Coverage Payload

The coverage payload expected by Code Climate is defined canonically by schema.json in the root of this repository. Examples can be found in the examples folder.

Usage Agent

All uploads should occur with a user agent of:

TestReporter/{VERSION} (Code Climate, Inc.)

Server-Side Notes

Writing

  • We default run_at to Time.now when missing

  • We ignore committed_at when it's 0 (after to_i), apparently

    • No idea what downstream impact this case has, I know we at least rely on this in the Extension to know if results are still able to be rendered
  • We just skip reports if ci_service.pull_request != "false", so good thing no-one writes that?

  • environment doesn't seem required, and we store only the following keys:

    • :test_framework
    • :pwd
    • :rails_root
    • :simplecov_root
    • :gem_version
  • From ci_service we store the following keys:

    • :name
    • :build_url
    • :build_identifier
    • :pull_request
    • :branch
    • :commit_sha

Reading

Coverage Comparisons

Used for comparison and/or status update event payloads:

  • branch
  • commit_sha
  • committed_at
  • covered_percent

Rendering Coverage Info on codeclimate.com

Unclear. It think only covered_percent is copied to snapshot (repo-totals) and constant (by source file) records.

Rendering Coverage Info on api.codeclimate.com

TODO

Before Releasing

  • Ensure that you have AWS CLI installed
  • You'll also need to have GPG setup

Releasing

To release a new version,

  • Update VERSION in Makefile
  • Update CHANGELOG
  • Run
      make release
    

This command will build the binaries for the given version and update the binaries for latest.