⠀⠀⠀⠀⠀⠀⣿
⠀⠀⠀⠀⠀⣼⣿⣧⠀⠀⠀⠀⠀⠀⠀ ⣠⣶⣾⣿⡇⢀⣴⣾⣿⣷⣆ ⣿⣿⠀⣰⣿⡟⢸⣿⣿⣿⡇ ⣿⣿⣿⣷⣦⠀⠀⢠⣿⣿⣿⠀⠀⣿⣿⠁⠀⣼⣿⡇⠀⢀⣴⣾⣿⡷
⠶⣶⣶⣶⣾⣿⣿⣿⣷⣶⣶⣶⠶ ⣸⣿⡟ ⠀⢠⣿⣿⠃⠈⣿⣿⠀⣿⣿⢠⣿⡿⠀⣿⣿⣧⣤⠀⢸⣿⡇⣠⣿⡿⠀⢠⣿⡟⣿⣿⠀⢸⣿⡿⠀⠀⣿⣿⠃⠀⢸⣿⣧⣄
⠀⠀⠙⢻⣿⣿⣿⣿⣿⡟⠋⠁⠀⠀ ⣿⣿⡇⠀ ⢸⣿⣿⠀⣸⣿⡟⠀⣿⣿⣾⡿⠁ ⣿⣿⠛⠛⠀⣿⣿⢿⣿⣏⠀⢀⣿⣿⣁⣿⣿⠀⣾⣿⡇⠀⢸⣿⡿⠀⠀⡀⠙⣿⣿⡆
⠀⠀⢠⣿⣿⣿⠿⣿⣿⣿⡄⠀⠀⠀ ⠙⢿⣿⣿⠇⠈⠿⣿⣿⡿⠋⠀⠀⢿⣿⡿⠁⠀⢸⣿⣿⣿⡇⢸⣿⣿⠀⣿⣿⣄⣾⣿⠛⠛⣿⣿⢠⣿⣿⣿ ⣼⣿⣿⣿ ⣿⣿⡿⠋⠀
⠀⢀⣾⠟⠋⠀⠀⠀⠙⠻⣷⡀⠀⠀
Auto-detects your coverage artifact files and CI environment to post to Coveralls.io.
# You can omit '-C /usr/local/bin' argument to keep it in current directory
curl -L https://coveralls.io/coveralls-linux.tar.gz | tar -xz -C /usr/local/bin
brew tap coverallsapp/coveralls
brew install coveralls
Bash:
curl -L https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-windows.exe -o coveralls.exe
PowerShell:
Invoke-WebRequest -Uri "https://github.com/coverallsapp/coverage-reporter/releases/latest/download/coveralls-windows.exe" -OutFile "coveralls.exe"
See also environment variables list and YAML config that control the utility behavior.
# Automatic lookup for supported reports and sending them to https://coveralls.io
coveralls
# Provide explicit repo token
coveralls --repo-token=rg8ZznwNq05g3HDfknodmueeRciuiiPDE
# Use concrete report file
coveralls --file coverage/lcov.info
# Use parallel reports
coveralls --file project1/coverage/lcov.info --parallel
coveralls --file project2/coverage/lcov.info --parallel
# ...
coveralls --done
# Provide a job flag and use carry-forwarding
coveralls --job-flag "unit-tests" --parallel
coveralls --job-flag "integration-tests" --parallel
coveralls --done --carryforward "unit-tests,integration-tests"
# Testing options: no real reporting, print payload
coveralls --debug --dry-run
For more options see coveralls -h/--help
$ coveralls -h
Coveralls Coverage Reporter v0.2.11
Usage: coveralls [options]
-rTOKEN, --repo-token=TOKEN Sets coveralls repo token, overrides settings in yaml or environment variable
-cPATH, --config-path=PATH Set the coveralls yaml config file location, will default to check '.coveralls.yml'
-bPATH, --base-path=PATH Path to the root folder of the project the coverage was collected in
-fFILENAME, --file=FILENAME Coverage artifact file to be reported, e.g. coverage/lcov.info (detected by default)
-jFLAG, --job-flag=FLAG Coverage job flag name, e.g. Unit Tests
-cr=REF, --compare-ref=REF Git branch name to compare the coverage with
-cs=SHA, --compare-sha=SHA Git commit SHA to compare the coverage with
-p, --parallel Set the parallel flag. Requires webhook for completion (coveralls --done)
-cf, --carryforward Comma-separated list of parallel job flags
-d, --done Call webhook after all parallel jobs (-p) done
--service-name=NAME Build service name override
--service-job-id=ID Build job override
--service-build-url=URL Build URL override
--service-branch=NAME Branch name override
--service-pull-request=NUMBER PR number override
-n, --no-logo Do not show Coveralls logo in logs
-q, --quiet Suppress all output
--debug Debug mode: data being sent to Coveralls will be printed to console
--dry-run Dry run (no request sent)
-v, --version Show version
-h, --help Show this help
With values used for --format
option:
- Lcov -
lcov
- SimpleCov -
simplecov
- Cobertura -
cobertura
- Jacoco -
jacoco
- Gcov -
gcov
- Golang coverage format -
golang
- Pytest-Cov (🧪 beta) -
python
You can add a report parser to this project by following these instructions.
Bounty: One or more months of free service at Coveralls.io. Contact us to learn more.
Since .coverage
stores only covered lines coverage-reporter needs to parse Python code to get uncovered lines. Parsing is done in a pretty naive way, so the results might be different from actual especially for complicated and non-trivial code.
If coverage results are incorrect consider exporting .coverage
to XML:
coverage xml # creates coverage.xml
coveralls -f coverage.xml
- CircleCI
- Github Actions
- Travis
- Jenkins
- GitLab
- Semaphore
- Wercker
- Codeship
- Drone
- Buildkite
Docs on environment variables for other CI support.
How to use the Reporter with an officially-unsupported CI service. See instructions.
See development instructions to add support for a new CI service.
If your coverage report format is not one of the ones above (in Supported Coverage Report Formats), you could try finding a library to convert your format into one of the supported formats.
Otherwise, if you want to use the Reporter, you could add support for your coverage report format.
See development instructions to add support for a new coverage report format.
Set this environment variable to your instance's host:
COVERALLS_ENDPOINT=https://coveralls-enterprise.example.com
SSL check will be automatically disabled to allow self-signed certificates.
More info: https://enterprise.coveralls.io
To get started you will need crystal installed on your machine and then you can run:
shards install
make # dist/coverals will be created
Run specs:
make test
Cutting new releases.
$ make new_release
New version: 1.2.3
Brief description: new coverage report support
$ git push origin master --follow-tags
- Bump version in
src/coverage_reporter.cr
andshard.yml
- Commit with a message
git commit --message "X.X.X: <short changes description>"
- Create a tag
git tag --annotate vX.X.X
with the same annotation as commit message - Push with a tag
git push origin master --follow-tags
Github release will be created automatically.