Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uber/uberalls
Track code coverage metrics with Jenkins and Phabricator
https://github.com/uber/uberalls
Last synced: about 2 months ago
JSON representation
Track code coverage metrics with Jenkins and Phabricator
- Host: GitHub
- URL: https://github.com/uber/uberalls
- Owner: uber
- License: mit
- Created: 2015-04-07T21:09:04.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-05T17:14:43.000Z (over 4 years ago)
- Last Synced: 2024-06-28T02:44:20.814Z (3 months ago)
- Language: Go
- Size: 112 KB
- Stars: 186
- Watchers: 2,679
- Forks: 14
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# uberalls [![Build Status](https://travis-ci.org/uber/uberalls.svg?branch=master)](https://travis-ci.org/uber/uberalls) [![Coverage Status](https://coveralls.io/repos/uber/uberalls/badge.svg)](https://coveralls.io/r/uber/uberalls)
Code coverage metric storage service. Provide coverage metrics on differentials
with [Phabricator][] and [Jenkins][], just like [Coveralls][] does for GitHub
and TravisCI.[Phabricator]: http://phabricator.org/
[Jenkins]: https://jenkins-ci.org/
[Coveralls]: https://coveralls.io/## Running
Configure your database by editing `config/default.json` or specify a different
file by passing an `UBERALLS_CONFIG` environment variable. The development and
test runs use a SQLite database.If you'd like to use MySQL, you could use the following configuration:
```json
{
"dbType": "mysql",
"dbLocation": "user:password@/dbname?charset=utf8",
"listenPort": 8080,
"listenAddress": "0.0.0.0"
}
```## Jenkins integration
Uberalls works best when paired with our [Phabricator Jenkins Plugin][], which
will record Cobertura data on master runs, and compare coverage to the base
revision on differentials.![Jenkins Integration](/docs/jenkins-integration.png)
[Phabricator Jenkins Plugin]: https://github.com/uber/phabricator-jenkins-plugin
On differentials, the delta in coverage is calculated by taking the base commit
(from conduit metadata) and comparing that to the current coverage amount.In order to have a baseline to compare against, you must also have jenkins build
your project on your mainline branch ("master" by default). You can either
create a separate job, or enable SCM polling under Build Triggers:![scm polling](/docs/scm-polling.png)
## Development
Get the source
```bash
go get github.com/uber/uberalls
```Install Glide and dependencies
```bash
cd $GOPATH/src/github.com/uber/uberalls
go get github.com/Masterminds/glide
glide install
```Run the thing
```bash
go build && ./uberalls
```Run the tests
```bash
go test .
```## License
MIT Licensed