~cypheon/dronecov

dronecov/README.md -rw-r--r-- 1.3 KiB
562cf37f — Johann Rudloff Update npm dependencies. 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Lighweight Coverage Tracking Server for Drone CI

The server has exactly 2 features:
 * Receive POSTed coverage summary results and store them per repo/branch
 * Provide badge SVGs with the current coverage. With color based on current
   coverage.


# Running the Server

    pipenv install

    # Optional, set database URI (default is ./dronecov.db)
    export DRONECOV_DB_URI=sqlite:///./var/dronecov_data.db

    pipenv run ./dronecov.py init
    pipenv run gunicorn -b 127.0.0.1:5000 dronecov:app

    # Generate access token
    pipenv run ./dronecov.py token username "Token Name / Description"


SVGs are available at: `http://localhost:5000/<username>/<reponame>/<branch>/coverage.svg`

Set custom thresholds for error (red) and warning (orange): `http://localhost:5000/<username>/<reponame>/<branch>/coverage.svg?error=60&warn=80`


# Using the Reporter Plugin in Drone CI

In `.drone.yml`:
```yaml
pipeline:

  # Your other steps ...

  coverage:
    image: cypheon/dronecov
    secrets: [ dronecov_access_token ]
    lcov_info: './path/to/coverage/total.info'
    server: https://your.coverage.server.example.com/dronecov-server/base-url/
```


# Development

Run development server:

    pipenv install --dev

    DRONECOV_DB_URI=sqlite:///./tests/tmp.db FLASK_DEBUG=1 FLASK_APP=dronecov.py pipenv run flask run

Run tests:

    ./runtests.sh